3

スーパーフィッシュのドロップダウンメニューのChromeでのみこのエラーが発生します。FirefoxとIEで正常に動作します。Chromeでは動作しません。水平リスト自体が垂直ではなく、メニュー。クライアントの実際のサイトのドメイン名は、機密保持のために以下で変更されました

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

ビューソースを確認しましたが、2つのヘッダーファイルを参照しています。これがエラーの原因である可能性があります。私はmagentoを使用しています。メニューは、1ページのチェックアウトを除くサイトのすべてのページで機能します。

修理済み!以下を読んで、7時間以内に回答として投稿します

問題はjavascript自体ではなく、superfishメニューのcssにありました。レイアウトを設計し、テンプレートをコーディングした開発者は、スーパーフィッシュメニューのスタイルシートを次のようにリストしました。

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

「http://www.domainname.com」を削除して「/css/superfish.css」のままにした後、メニューを修正しました。

4

1 に答える 1

6

jQueryそのような記号を使用しようとすると、次のようにReferenceErrorなります。

  1. jQueryのスクリプトインクルードが失敗した場合。コンソールに404などがないか確認してください。

  2. 後のスクリプトの1つが実際にプロパティを削除した場合、例:jQuery window

    delete window.jQuery;
    

    (おそらく経由で)に設定jQueryするだけでは、は発生しません。ただし、実際にプロパティを削除すると、削除されます。(オブジェクトからプロパティを削除できないIEを除く。)undefinednoConflictReferenceErrorundefined is not a functionwindow

于 2012-05-21T17:36:02.047 に答える