我使用这个脚本(做一个document.write,你可以访问src来查看它),它会在我的页面的HTML序列中到达时加载时间:
<script type="text/javascript" src="http://pkmncards.disqus.com/recent_comments_widget.js?num_items=25"></script>
这会阻止脚本加载后加载一两秒后的任何内容,所以我想通过jQuery Ajax加载它以防止挂起。
以下是我的尝试:
var $j = jQuery.noConflict();
$j(document).ready(function () {
$j.ajax({
url: "http://pkmncards.disqus.com/recent_comments_widget.js?num_items=25",
dataType: "script",
success: function (data) {
$j("#recent-discussion").html(data)
}
});
});
但是我没有正确处理成功。我看到请求加载,但它没有做任何事情。我希望它运行脚本并将document.write输出到目标#nigh-discussion。
我仍在寻找示例,但无法弄清楚我做错了什么......非常感谢任何帮助!
答案 0 :(得分:2)
加载页面后无法执行document.write
。通过使用document.write
的AJAX调用加载的任何脚本都无法正常工作。
答案 1 :(得分:1)
您的ajax调用似乎是正确的,并且您实际上不需要在success
回调中执行任何操作 - 该脚本已经开始执行(but not necessarily so)。
如果它不起作用,请检查它是否正确加载(可能在ajax调用中使用error
回调)。 BTW是否与您的主页位于同一个域中?您可以从不同的域加载脚本,但通常不能对它们进行ajax调用(由于同源策略)。
我希望它运行脚本并将document.write输出到目标#nigh-discussion。
我不认为这实际上是可能的......如果这是你的脚本需要做的,而你无法改变它,我担心你几乎无法做到(没有猴子修补{{1} },即)。