为什么这个jQuery代码不起作用(getScript)

时间:2010-08-09 14:25:34

标签: javascript jquery

我正在尝试使用jQuery getScript函数。但似乎没有任何反应 - 根本没有调用脚本。

怎么了?

这是页面 - > http://ultimateclassicmovies.com/uncategorized/botr-test/

相关代码块位于

<script>
    $.getScript("http://content.bitsontherun.com/players/UhLR1fcb-Gv5Rv0Kc.js");
</script>

此行未执行

由于

3 个答案:

答案 0 :(得分:2)

这是jQuery包含的结尾:

jQuery.noConflict();

在此文件的末尾:http://ultimateclassicmovies.com/wp-includes/js/jquery/jquery.js?ver=1.4.2

这会使$在页面本身无用,您需要使用jQuery.getScript()。我假设WordPress这样做是为了避免与原型和其他库发生冲突,但无论什么原因,它都是您当前问题的根源。只需将$替换为您要使用它的jQuery即可。

答案 1 :(得分:1)

我的Firebug控制台报告:

  

$未定义

可能是javascript库冲突。尝试将其更改为jQuery.getScript

答案 2 :(得分:0)

如果你还没有使用它,首先下载firebug for firefox!

在firebug的网络标签上,它显示您有从localhost

请求的内容
http://localhost:54321/browser_integration?ts=1281364540718

如果未在端口54321上本地运行开发服务器的任何计算机上出现此问题,则可能导致您的问题出现在该行

$.getScript("http://content.bitsontherun.com/players/UhLR1fcb-Gv5Rv0Kc.js");

确实被击中,但没有完成转移。

尝试更改

$.getScript("http://content.bitsontherun.com/players/UhLR1fcb-Gv5Rv0Kc.js");

$.getScript("http://content.bitsontherun.com/players/UhLR1fcb-Gv5Rv0Kc.js", function(data, textStatus) { 
    alert(textStatus); 
});

这应该在请求完成时触发警告框,告诉您可能还能识别问题的状态。

HTH

单稳

编辑:

我刚刚在远程服务器上使用我自己的脚本对此进行了测试,即使脚本正确加载,我也在警告框中未定义,如果从不同的服务器加载脚本,这似乎只会发生已加载,从同一域加载的脚本提供正确的成功状态。

在你的情况下你还没有使用回调,所以只需从getScript调用中删除该函数,使其恢复原来的状态

$.getScript("http://content.bitsontherun.com/players/UhLR1fcb-Gv5Rv0Kc.js");

到目前为止,我还不确定这是否是jQuery或浏览器限制中的错误导致状态未定义。