我仅在超级鱼的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>
我查看了视图源代码,它引用了两个头文件。这可能会导致错误。我正在使用洋红色。该菜单适用于除一页结帐之外的网站所有页面。
固定的! 阅读下面将在 7 小时内让我发布作为答案
问题不在于javascript本身,而在于超级鱼菜单的css。设计布局和编码模板的开发人员将超级鱼菜单的样式表列为:
<link rel="stylesheet" type="text/css" href="http://www.domainname.com/css/superfish.css" media="screen">
删除"http://www.domainname.com"并将其保留为"/css/superfish.css"后,它修复了菜单。
尝试使用这样的符号jQuery
会导致ReferenceError
的唯一原因是:
-
如果 jQuery 的脚本包含失败。检查您的主机是否有 404 等。
-
如果后面的脚本之一实际上删除了
jQuery
window
属性,例如:delete window.jQuery;
仅将
jQuery
设置为undefined
(也许通过noConflict
(不会导致ReferenceError
,您会得到undefined is not a function
或类似。但是,如果您实际上删除了该属性,那么您会删除该属性。(IE 除外,它不允许你从window
对象中删除属性。