使用jQueryAjax成功显示脚本

Displaying Script on Success with jQuery Ajax

本文关键字:脚本 显示 成功 jQueryAjax 使用      更新时间:2023-09-26

我使用这个脚本(做一个document.write,你可以访问src来查看它(,它会在我的页面的HTML序列中到达后立即加载:

<script type="text/javascript" src="http://pkmncards.disqus.com/recent_comments_widget.js?num_items=25"></script>

这会在脚本加载时阻止脚本后的任何内容在一两秒钟内加载,因此我希望通过jQueryAjax加载它以防止挂起。

以下是我尝试过的:

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。通过使用document.write的AJAX调用加载的任何脚本都将无法正常工作。

您的ajax调用似乎是正确的,实际上您不需要在success回调中做任何事情——到那时脚本已经开始执行了(但不一定如此(。

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

我希望它运行脚本并输出文档。写入目标#最近的讨论。

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