我对jquery getScript函数有一个“imho”奇怪的问题。
$.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 ...
我该如何修复这个错误?
事先谢谢 彼得
答案 0 :(得分:2)
为正在加载的每个模块定义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"}]}
答案 1 :(得分:0)
这是Google API Loader的问题。我在使用他们的javascript API的延迟加载时遇到了这个问题。我无法找到问题的解决方案,最终只使用了传统的<script>
标记。
我想他们的javascript代码正在运行此重定向(不确定是否故意)。您可以随时挖掘他们的代码以找出重定向发生的位置。 (听起来好像浪费了很多时间)
有没有其他人有这个问题,但找到了解决方法吗?
答案 2 :(得分:0)
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/
答案 3 :(得分:-2)
这一行意味着你已经包含了文件!!
为什么你需要在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>