2012-05-21 50 views
3

我只在chrome中爲superfish下拉菜單收到此錯誤。它在Firefox和IE中運行良好。它在Chrome中不起作用。菜單而不是水平列表本身垂直。客戶域名實際的網站已被更改如下出於保密未捕獲的ReferenceError:未定義jQuery

<script type="text/javascript" src="http://www.domainname.com/js/jquery.js"></script> 
<script type="text/javascript" src="http://www.domainname.com/js/superfish.js"></script> 
<script type="text/javascript" src="http://www.domainname.com/js/hoverIntent.js"></script> 
<script type="text/javascript"> 
    // initialise plugins 
jQuery(function(){ 
    jQuery('ul.sf-menu').superfish(); 
    }); 
</script> 

我甚至把它改成下面並不起作用:

<script type="text/javascript"> 
     $(document).ready(function(){ 
      $('ul.sf-menu').superfish(); 
     }) 
    </script> 

我看着查看源代碼,這是引用兩個頭文件。這可能會導致錯誤。我正在使用magento。除了單頁結帳之外,該菜單正在網站的所有頁面上工作。

固定!閱讀下面將張貼作爲答案,當它讓我在7小時

這個問題不是與JavaScript本身,但與超級菜單的CSS。 誰設計的佈局和編碼模板中列出的樣式表的快魚菜單開發商:

<link rel="stylesheet" type="text/css" href="http://www.domainname.com/css/superfish.css" media="screen"> 

刪除「http://www.domainname.com」,並把它當作「/ CSS /快魚後.css「它修復了菜單。

+0

我在上面的代碼中更改了網站的實際域,以便客戶端保密。 –

+0

你檢查了你的錯誤控制檯嗎? –

+0

錯誤控制檯是我收到錯誤的地方。我只在chromes錯誤控制檯中得到這個。 –

回答

6

的唯一原因試圖使用符號jQuery這樣會導致ReferenceError是:

  1. 如果腳本包括jQuery的失敗。檢查您的控制檯404s等。

  2. 如果後來的一個腳本實際上刪除jQuerywindow屬性,如:

    delete window.jQuery; 
    

    只設置jQueryundefined(可能通過noConflict)不會造成ReferenceError,你會得到undefined is not a function或類似的。但如果你真的刪除了財產,那麼你會。 (除了IE,它不會讓你從window對象中刪除屬性。)

+0

未收到任何404或任何其他錯誤消息。 –

+0

@n_starnes:剛剛更新(我想到了第二個選項,至少在非IE瀏覽器上),但這些確實是我能想到的唯一兩種情況。如果您在使用的瀏覽器中看不到錯誤,請嘗試使用Chrome或Firefox + Firebug。某處肯定會出錯。 –

+0

我同意這一點。有沒有機會列出的源代碼實際上沒有相同的順序(即在引用源代碼之前調用'初始化插件'代碼)? – Killnine

相關問題