2012-02-13 60 views
10

Rails修復:確保<%= javascript_include_tag "application" %>在任何腳本加載之前,以便jquery首先被加載。如何解決jQuery庫中未定義'jQuery'的錯誤?

這看起來很奇怪。當我加載我的頁面時,我得到2個js錯誤(在Chrome中):

jquery-ui.min.js:17 Uncaught ReferenceError: jQuery is not defined 
jquery.blockUI.js:499 Uncaught ReferenceError: jQuery is not defined 

好的,這似乎...奇怪。所以我看看我的腳本包括。我的第一個兩個腳本包含在我的頁面上:

<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.min.js"></script> 
    <script src="http://bainternet-js-cdn.googlecode.com/svn/trunk/js/jQuery%20BlockUI%20Plugin/2.39/jquery.blockUI.js"></script> 

所以第一個包含得到一個與自身相關的JavaScript錯誤?這似乎不太可能。這看起來像是一個錯誤的錯誤(真正的錯誤是在別的地方)。我能做些什麼來解決這個問題?頁面上的JS錯誤看起來有點不專業(至少對其他開發者來說)。有一天我沒有收到這個錯誤 - 甚至還原了代碼以確保。

+4

哪裏是jQuery的本身腳本標籤? – 2012-02-13 19:28:46

+3

在使用jQuery UI之前,您必須包含jQuery。 – Mihai 2012-02-13 19:28:53

+2

'jQuery!== jQuery UI',你也必須包含「base」jQuery。 – 2012-02-13 19:28:59

回答

22

<script type="text/javascript" src="jquery.js"></script> 

前jQuery UI的< script>標記被調用。

應該出現這樣的:

<script type="text/javascript" src="jquery.js"></script> <-- put me here --> 
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.min.js"></script> 
<script src="http://bainternet-js-cdn.googlecode.com/svn/trunk/js/jQuery%20BlockUI%20Plugin/2.39/jquery.blockUI.js"></script> 
+0

任何在Rails中都有這個問題的人都應該確定,並且看看我編輯的問題有一個Rails特定的修補程序。 – jcollum 2015-10-12 17:36:20

1

默認情況下,jQuery UI不包含標準的jQuery庫。在包含使用它的任何插件之前,您需要添加一個<script>標籤以包含標準jQuery庫。需要

相關問題