繁体   English   中英

加载插件时出错

[英]Error when loading Plug-in

我为朋友创建了一个插件,它在我的网站上运行得很好。 但是,每当我将它发布在另一台服务器上时,它都无法正常工作。 加载页面时,它会遍历函数loadBox()所有步骤,但是无法在<div>加载PHP页面。 它只是保持.gif运行。 请帮忙。 这真的很烦人。 这是我们发布以获取插件的内容:

<div id="ferridev_twitter_box" load_type="personal" twitter_name="jpferrierjr" tweet_number="15" tone="dark"></div>
<script type="text/javascript" src="http://www.johnferrier.com/js/jquery.js"></script>
<script type="text/javascript" src="http://www.johnferrier.com/plugins/twitter/js/ferridev_twitter_plug-in.js"></script>

jquery.js文件只是一个标准的jQuery文件。 但是, ferridev_twitter_plug-in.js就是我制作的那个。 它的内容如下:

$(document).ready(function()
{
    function loadBox()
    {
        $('#ferridev_twitter_box').html("<div style='height:400px; width:300px; padding-top:167px; text-align:center;'><center><span style='position:relative;'><img src='http://www.johnferrier.com/images/loading/loading17.gif' /></span></center></div>");
        var a = $('#ferridev_twitter_box').attr("twitter_name");
        var b = $('#ferridev_twitter_box').attr("tweet_number");
        var c = $('#ferridev_twitter_box').attr("tone");
        var d = window.location;
        var e = $('#ferridev_twitter_box').attr("load_type");
        $('#ferridev_twitter_box').load("http://www.johnferrier.com/plugins/twitter/php/ferridev_twitter_plug-in_parser.php?name="+a+"&limit="+b+"&tone="+c+"&type="+e);
    }
    loadBox();
});

你们有什么可以看错的吗? 谢谢!

跨域策略限制。 您正在尝试向另一台服务器执行ajax请求。

$('#ferridev_twitter_box').load("http://www.johnferrier.com/plugins/twitter/php/ferridev_twitter_plug-in_parser.php?name="+a+"&limit="+b+"&tone="+c+"&type="+e);

看看这些跨域ajax的例子: http//usejquery.com/posts/the-jquery-cross-domain-ajax-guide

这不是不可能,您可以使用jsonp来设置这样的通用Web服务,但由于浏览器安全性,跨域JavaScript很难。

http://forum.jquery.com/topic/cross-domain-load

JQuery Cross-Domain .load()(自构小部件)

这可能对你有用:

http://james.padolsey.com/javascript/cross-domain-requests-with-jquery/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM