0

我使用这个脚本(做一个 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 输出到目标#recent-discussion。

我仍在寻找示例,但无法弄清楚我做错了什么......非常感谢任何帮助!

4

2 回答 2

2

document.write页面加载后无法执行。您通过使用的 AJAX 调用加载的任何脚本都document.write将无法正常工作。

于 2013-02-26T20:12:08.647 回答
1

您的 ajax 调用似乎是正确的,并且您实际上不需要在success回调中执行任何操作 - 到那时脚本已经开始执行(但不一定如此)。

如果它不起作用,则检查它是否已正确加载(可能error在 ajax 调用中使用回调)。顺便说一句,这个脚本与您的主页在同一个域中吗?您可以从不同的域加载脚本,但通常不能对它们进行 ajax 调用(由于同源策略)。

我希望它运行脚本并将 document.write 输出到目标#recent-discussion。

我认为这实际上是不可能的......如果这是您的脚本需要做的,而您无法更改它,恐怕您无能为力(document.write即缺少猴子补丁)。

于 2013-02-26T20:06:36.390 回答