JQuery - getScript在新选项卡中打开

时间:2011-02-27 09:02:02

标签: jquery getscript jsapi


我对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 ...

我该如何修复这个错误?

事先

谢谢 彼得

4 个答案:

答案 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>