3

我仅在 chrome for superfish 下拉菜单中收到此错误。它在 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>

我查看了视图源,它引用了两个头文件。这可能会导致错误。我正在使用magento。该菜单适用于网站的所有页面,但一页结帐除外。

固定的!当它让我在 7 小时内阅读下面的内容时,它将作为答案发布

问题不在于 javascript 本身,而在于 superfish 菜单的 css。设计布局和编码模板的开发人员将 superfish 菜单的样式表列为:

    <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会导致 a的唯一原因ReferenceError是:

  1. 如果 jQuery 的脚本包含失败。检查您的控制台是否有 404 等。

  2. 如果后面的脚本之一实际上删除了该jQuery window属性,例如:

    delete window.jQuery;
    

    只是设置jQueryundefined(也许通过noConflict)不会导致 a ReferenceError, 你会得到undefined is not a function或类似的。但是,如果您实际上删除了该属性,那么您会这样做。(IE 除外,它不允许您从window对象中删除属性。)

于 2012-05-21T17:36:02.047 回答