【问题标题】:Flexslider and IE8 Object doesn't support this property or methodFlexslider 和 IE8 对象不支持此属性或方法
【发布时间】:2014-05-12 21:36:45
【问题描述】:

我在 IE8 中收到错误“对象不支持此属性或方法”,并且我的 Flexslider 没有运行脚本。我查看了所有类似的问题并仔细检查了他们的解决方案,例如检查尾随逗号、从 flexslider.js 调用中删除“defer”、正确的 HTML 和 DOM 调用,并确保 jQuery 只被调用一次在页面上。

在此之前调用了一些其他脚本,因此我将其移至它们之前,但无济于事。然后尝试完全删除其他脚本,以便只调用 jQuery 和 Flexslider,这意味着它不是单独脚本之间的冲突。

这里是代码。

<script src="/js/jquery.flexslider.js"></script>
<script type="text/javascript">
  $( document ).ready(function() {
    $('.flexslider').flexslider();
  });
</script>

导致错误的行是$('.flexslider').flexslider();

也许我已经看这个太久了,我错过了一些明显的东西,但这个解决方案正在逃避我。

您现在可以在此处查看开发站点(链接已删除,问题已修复)。

更新:我从 flexslider.js 调用中删除了“延迟”,现在它在所有浏览器中都出错了,在调用它时重新添加 defer 解决了现代浏览器的问题,但可能是它不能的原因在 IE8 中加载。

【问题讨论】:

  • 在 Flexslider 的网站上,他们使用 jquery 1.6.2 作为示例,尝试将本地 1.8.0 引用替换为 https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js。我的猜测是你的脚本引用是让 IE 关闭的原因。我还看到两个对jqery.tools 的引用。尝试隔离该滑块以向自己保证外部引用不是问题。
  • 感谢@ElliotM!我不小心调用了 jquery.tools 的两个版本(一个是硬编码的,另一个是由我们的 CMS 填充的,所以我没有注意到加倍)。删除对 j​​query.tools 的第二次调用后,flexslider 运行良好。

标签: javascript jquery internet-explorer-8 flexslider


【解决方案1】:

为了形式

IE 不像其他主流浏览器那样处理重复的 javascript 引用,通过查看测试站点,您可以看到对 jquery.tools 的两个引用。这可能会导致恼人的错误。

希望这会有所帮助。 (好像是这样)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-23
    相关资源
    最近更新 更多