JQuery - getScript在新标签中打开
我对jQuery getScript函数有一个“imho”奇怪的问题。JQuery - getScript在新标签中打开
$.getScript('jquery_ui.js', function(){});
// this code works fine
<script type="text/javascript" src="http://www.google.com/jsapi?autoload=%7B%22modules%22%3A%5B%7B%22name%22%3A%22feeds%22%2C%22version%22%3A%221%22%7D%5D%7D"></script>
// works fine,too
$.getScript('http://www.google.com/jsapi?autoload=%7B%22modules%22%3A%5B%7B%22name%22%3A%22feeds%22%2C%22version%22%3A%221%22%7D%5D%7D', function(){});
// This code redirect my page.
// But why, oO? This is the same like <script type="text/javascript" src="http://www.google.com/j ...
我该如何解决这个错误?
感谢提前
彼得
为正在加载的每个模块定义一个callback
值应该可以解决问题。 (请注意,下面的autoload
在查询字符串值中包含你正在加载的模块的名称和您的回调的名称。)
function maps(){
console.log("maps loaded");
}
function feeds(){
console.log("feeds loaded");
}
$.getScript("https://www.google.com/jsapi?autoload=%7B%22modules%22%3A%5B%7B%22name%22%3A%22maps%22%2C%22version%22%3A%222%22%2C%22callback%22%3A%22maps%22%7D%2C%7B%22name%22%3A%22feeds%22%2C%22version%22%3A%221%22%2C%22callback%22%3A%22feeds%22%7D%5D%7D");
// https://www.google.com/jsapi?autoload={"modules":[{"name":"maps","version":"2","callback":"maps"},{"name":"feeds","version":"1","callback":"feeds"}]}
该行指,美已经包含的文件!
为什么你需要将其加载到jQuery的
<script type="text/javascript" src="http://www.google.com/jsapi?autoload=%7B%22modules%22%3A%5B%7B%22name%22%3A%22feeds%22%2C%22version%22%3A%221%22%7D%5D%7D"></script>
我的网页有超时。我首先加载CSS/HTML/jquery.js代码,1秒后我得到我所有的js文件...像jquery_ui,来自谷歌的js文件等。这使得页面快速。 – Peter 2011-02-27 09:28:38
对不起,我误解了你的代码,我以为你曾经为他们使用过所有这些 – ahmedsafan86 2011-02-28 17:52:55
这与谷歌API加载程序的问题。在使用JavaScript API的延迟加载时,我自己也遇到过这个问题。我无法找到问题的解决方案,最终只使用了传统的<script>
标签。
我想他们的javascript代码正在运行此重定向(不知道它是否是故意的)。你总是可以挖掘他们的代码来找出重定向发生的地方。 (听起来很浪费时间)
有没有其他人有这个问题,但找到了解决办法吗?
jQuery.ajax({
url: 'http://www.google.com/jsapi?autoload={%22modules%22%3A[{%22name%22%3A%22feeds%22%2C%22version%22%3A%221%22}]}',
dataType: 'script',
success: function() {
alert('succeess');
}
});
我通常做这个加载JavaScript文件,我运行上面的代码在我的浏览器上,它工作正常。
我还创建了演示http://jsfiddle.net/jDwYL/
我的浏览器(firefox)正在加载,空洞时间? – Peter 2011-02-27 09:29:28
对不起,你说的对(http://jsbin.com/aqoda3)在Firefox(Windows&Linux),Opera(Linux&Windows)和Safari(Windows)上的表现也很奇怪。它在Chrome(Linux和Windows)和IE6/7/8中正常工作。五,奇怪。 – 2011-02-27 10:08:29