2015-02-11 47 views
-5
$.getScript('Scripts/TEST/jquery-1.10.2.js', function() { 
    $.getScript('Scripts/TEST/jquery-ui.js', function() { 
     $("#accordion").accordion(); 
    }); 
}); 

这是工作在IE,但在谷歌浏览器不能正常工作。jQuery是不是在谷歌chrome工作

+1

什么是 “不工作” 是什么意思? *什么*不起作用?第一个脚本加载了吗?第二次? '.accordion()'不起作用吗?它有什么作用?你看到控制台中有任何错误吗? – 2015-02-11 17:58:52

+6

在加载jQuery之前,$ .getScript()是如何提供的?你没有在同一时间加载两个版本的jQuery,是吗? – JJJ 2015-02-11 17:59:29

+0

@Juhana:很好,我甚至都没有想到。 – 2015-02-11 18:00:01

回答

0

的问题是由于的方式,你的手风琴被调用。根据API docs

一旦加载了脚本但未必执行 ,将触发回调。

在你的情况下,jquery-ui.js回调被调用后立即下载完毕,但在执行脚本之前。在Chrome等最新浏览器中,他们下载脚本,但试图推迟执行,直到DOM准备就绪。

您可以通过两种方式解决这个问题。

  1. 直接添加jquery-ui.js依赖之后你 jquery.js
  2. 可以

如果您使用LABjs使用脚本管理器,例如LABjs/requireJS,那么你可以做这样的事情

<!-- download LABjs directly --> 
    <script src="LAB.js"></script> 
    <!-- use LAB to download other dependencies --> 
    <script> 
    $LAB 
     .script("Scripts/TEST/jquery-1.10.2.js").wait() 
     .script("Scripts/TEST/jquery-ui.js") 
     .wait(function(){ 
      $("#accordion").accordion(); 
     }); 
    </script> 
+0

非常感谢,现在它的工作我的朋友 – Sohel 2015-02-11 19:08:29

+0

我有JavaScript加载时,我使用src =的问题? – Sohel 2015-02-11 19:13:53

+0

是的,它是什么? – Arkantos 2015-02-11 20:15:18

相关问题