【问题标题】:jQuery slider and IE6 IssuesjQuery 滑块和 IE6 问题
【发布时间】:2010-07-29 00:43:14
【问题描述】:

我的老朋友 IE6 遇到了一些问题。 The site I'm working on 适用于公共部门客户,因此它必须支持 IE6。该滑块在 IE7+、Firefox、Safari 和 Chrome 中很好用。我已经尝试了我能想到的一切,但我正在画一个空白!你能帮忙吗?

PC 上的 IE6。 IE6 Screen grab http://citywest.bangtest.co.uk/stackoverflow/ie6.png

Mac 上的 Chrome Chrome on a Mac http://citywest.bangtest.co.uk/stackoverflow/chrome.png

【问题讨论】:

  • +1 表示“画一个空白”

标签: jquery browser internet-explorer-6 cross-browser slider


【解决方案1】:

我忍不住跳到旧的“IE6 hasLayout”问题(因为这似乎是一个视觉错误)。您可能值得花时间检查您的元素以确保它们具有“hasLayout” - 我在 IE6 中遇到的大多数“毫无意义”的渲染问题都与此属性有关。

http://www.satzansatz.de/cssd/onhavinglayout.html

查看问题是否与“hasLayout”有关的一种快速而肮脏的方法是添加非标准的 IE 专有 CSS 属性“zoom: 1;”。这不会验证,但它会将“hasLayout”授予应用它的任何元素。只要把它放在所有涉及的元素上,它可能会解决问题......然后,有了这个糟糕的解决方案,你就可以弄清楚如何让它验证:)

/* in your css */
.my_box {
    zoom: 1;
}

【讨论】:

    【解决方案2】:

    我在 ie 6 的页面上看到错误,使用 ms 脚本编辑器调试页面会将我带到这个文件:

    http://citywest.bangtest.co.uk/sites/all/themes/citywest/inc/js/jquery.custom.js

    还有这一行:

    $().newsTicker(options);
    

    我还可以告诉你,同一个 js 文档中的多个 $(document).ready( 行在该文件中是不必要的。您应该合并这些陈述。

    Ie6 没有提供很好的调试方式,但由于 ie6 表示您在该行有错误,因此是开始查找的好地方。

    【讨论】:

      【解决方案3】:

      不要为 IE 6 编写代码。它是一个过时的浏览器,它附带的最后一个操作系统是 Windows XP。一些较新的代码不能很好地与 IE6 配合使用。如果你确实让它工作,你必须为它创建 hack 以正确显示代码并花费大量时间这样做。 IE8 和 Firefox3+ 的代码,使用 javascript 检测浏览器版本和更新浏览器的消息。

      【讨论】:

      • @kinijite 听起来 OP 没有选择。这可能是他们的合同或类似内容中规定的。
      • @Peter - 完美的回应,是的,它在合同中。 @Kinjite - IE6 很烂,但我必须使用它来完成这项工作。
      • @Shaun 和 kinjite:不要使用浏览器检测,而是使用特征检测,请参阅 Feature detection is not browser detection
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-30
      • 2017-06-24
      • 1970-01-01
      相关资源
      最近更新 更多