0

我的网站 - http://www.myhomecare.ie - 是使用与 IE 8 和 9 兼容的Sterling 主题的 Wordpress 安装。当我在 IE 8 浏览器中测试它时,一切运行良好且看起来不错,但它突然启动抛出错误并在 IE 中垂直而不是水平显示菜单。

我联系了主题制造商提供的支持,但他们报告说它在他们的 IE 浏览器中看起来不错。

以为它可能只是我的电脑,我在办公室的其他电脑上试了一下,却发现问题出现在所有工作电脑上的 IE 8 上。我们确实在大型网络上工作,因此网络管理员可能以不同的方式配置 IE 设置,但如果我们的客户正在查看这样的网站,我仍然需要摆脱这个错误。

当我在 IE 8 中加载站点时,我确实在屏幕底部收到一条错误消息,其中显示以下问题:

Webpage error details

User Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; Tablet PC 2.0)
Timestamp: Fri, 17 Aug 2012 09:23:02 UTC


Message: 'jQuery' is undefined
Line: 1
Char: 1
Code: 0
URI: http://myhomecare.ie/wp-content/themes/Sterling/framework/js/IE.js


Message: Expected identifier, string or number
Line: 398
Char: 5
Code: 0
URI: http://myhomecare.ie/wp-content/themes/Sterling/framework/js/custom-main.js?ver=2.0


Message: Expected identifier, string or number
Line: 195
Char: 4
Code: 0
URI: http://myhomecare.ie/

我不是 jquery 专家,但我确实有一些 html 和 css 知识。我需要一些帮助来了解该错误消息有什么问题。我已经尝试删除我放入主题的自定义代码并禁用最近的插件,但它没有任何区别。我很困惑为什么问题不在所有 IE 8 浏览器中。如果有人对下一步的故障排除有任何建议,我将不胜感激。

4

1 回答 1

0

第一个错误是引用了一个 javascript 文件,该文件在您<head>使用条件代码中加载,指定 IE 版本小于或等于版本 8。

<!--[if lte IE 8]>
<script type="text/javascript" src="http://myhomecare.ie/wp-content/themes/Sterling/framework/js/IE.js"></script>
<![endif]-->

问题是在您的标头中调用了此代码,而在页脚中调用了 jQuery。jQuery 需要在依赖脚本之前先加载,这就是错误说它未定义的原因。

将上面给出的代码块移动到其他脚本包含的页脚下方,然后从那里获取。

注意:即使 IE8 有相同的“未定义”错误,它在我的版本上显示正常,但 IE7 不是。

编辑*

好的,我们从那里拿走它。下一个错误,在第 398 行;

http://myhomecare.ie/wp-content/themes/Sterling/framework/js/custom-main.js?ver=2.0

被抛出是因为在这个代码块中最后一个同位素参数后面有一个逗号;

jQuery('#iso-wrap').isotope({
    animationOptions: {
     duration: 750,
     easing: 'linear',
     queue: false,
     }
});

去掉假字后面的逗号。

这也将清除与第二个错误相关的最后一个错误。

根据您的 IE 版本,这是您提到的网络管理员的问题,这里没有人知道它们是如何设置的。

编辑 2

好的,根据您的最新评论,这与以前的问题完全相同,滑块参数末尾有一个逗号;

在您的页脚中,您有;

jQuery(document).ready(function(){
jQuery('#slides').slides({
      preload: false,
      //preloadImage: 'http://files.truethemes.net/themes/sterling-wp/ajax-loader.gif',
      autoHeight: true,
      effect: 'fade',
      slideSpeed: 500,
      play: 4000,
      randomize: false,
      hoverPause: true,
  });

});

去掉最后一个 true 之后的逗号。

于 2012-08-17T10:32:25.970 回答