2015-02-11 45 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

相關問題