【发布时间】:2011-05-27 22:45:06
【问题描述】:
我在让.getScript 在一些奇怪的情况下工作时遇到了问题。
例如,这仅在需要时才加载脚本。
function twitterSDK() {
$jQ.getScript('http://platform.twitter.com/widgets.js');
}
function diggShare() {
$jQ.getScript('http://widgets.digg.com/buttons.js');
}
function buzzShare() {
$jQ.getScript('http://www.google.com/buzz/api/button.js');
}
但是它似乎不适用于我编写的一些脚本。如果我调用.getScript 来获取我上传到Pastebin (http://pastebin.com/GVFcMJ4P) 的这个JS 文件并调用tweetStream(); 没有任何反应。但是,如果我执行以下操作,它会起作用:
var twitter = document.createElement('script');
twitter.type = 'text/javascript';
twitter.async = true;
twitter.src = '/path-to/tweet.js';
$jQ('.twitter-section').append(twitter);
tweetStream();
我做错了什么?任何帮助都会很棒,谢谢!
附:哪种方法更快或更有效?
注意:我的代码没有托管在 pastebin 上,我只是将我服务器上的 .js 文件的内容上传到该站点,以便于共享。我不是在使用 pastebin 来托管 ;)
【问题讨论】:
-
当你把
/path-to/tweet.js放在你自己的服务器上是不是一个文件?还是pastebin的网址?当您调用 $.getScript 时,您是否给它相同的 url? -
这两个脚本都是我服务器上的
.js文件。我没有从 pastebin 加载任何东西。 :) 使用createElement方法时它有效,但如果我使用$jQ.getScript('/path-to/tweet.js');则它不起作用@
标签: javascript jquery getscript script-tag