未捕获的ReferenceError:未定义jQuery

n_s*_*nes 3 javascript php jquery superfish

我只在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>
Run Code Online (Sandbox Code Playgroud)

我甚至将其更改为以下内容并且不起作用:

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

我查看了视图源,它引用了两个头文件.这可能导致错误.我正在使用magento.菜单正在网站的所有页面上工作,除了一页结帐.

固定!下面的内容将在7小时内发布时作为答案发布

问题不在于javascript本身,而在于超级鱼菜单的css.设计布局并编码模板的开发人员列出了superfish菜单的样式表:

    <link rel="stylesheet" type="text/css" href="http://www.domainname.com/css/superfish.css" media="screen">
Run Code Online (Sandbox Code Playgroud)

删除"http://www.domainname.com"并将其保留为"/css/superfish.css"后,修复了菜单.

T.J*_*der 6

尝试使用这样的符号的唯一原因jQuery会导致a ReferenceError:

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

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

    delete window.jQuery;
    
    Run Code Online (Sandbox Code Playgroud)

    设置jQuery为undefined(也许是通过noConflict)不会导致a ReferenceError,你得到undefined is not a function或类似.但是,如果你真的删除了该属性,那么你会.(在IE上除外,它不允许您从window对象中删除属性.)