3

我的网页存在两个 IE6 渲染错误。他们每个人都有解决方法,但不幸的是,这些解决方法彼此不兼容。

这是一个最小化的测试用例。Firefox/Safari 中的行为是期望/正确的行为。IE7 是未知的,因为我现在无法访问它。

第一个错误:#content 有溢出:自动并包含一个相对定位的 div。IE6 错误地为相对定位的 div 赋予了“固定”外观。解决方法:在#content 上设置位置:相对。

第二个错误:页面有时会显示一个模式弹出窗口。弹出窗口和背景上的 z-index 设置得非常高,以阻止与它们后面的任何东西进行交互。这工作正常,直到我在#content 上设置 position:relative,这使得 IE6完全错误地对待 z-index 属性

我怎样才能让这些虫子很好地相互玩耍?(注意:远程格式化仍在运行 IE6 的用户的硬盘驱动器不是一种选择,这让我很沮丧。)

编辑: 这是第二个测试用例,显示了当我应用位置时会发生什么:相对于内容。第一个错误(#content-header 的“固定”外观)已解决,但它会导致 z-index 错误启动并弄乱模态背景。

4

4 回答 4

0

我不认为使用库来减少我处理荒谬的 IE 错误的时间是太糟糕的惩罚。

我们最终使用了 bgiframe jquery 插件 ( http://plugins.jquery.com/project/bgiframe )。它在库中实现了 iframe“屏蔽”技术。我认为让 IE6 用户必须有更多的库下载惩罚(实际上并没有那么多),这样我就不必为 IE6 流血而疯狂是值得的。

PS 我认为全世界的 Web 开发者应该发起集体诉讼,迫使微软以太提供 IE6 和 IE7 的 firebug 等价物,确保所有 IE6 和 IE7 实例升级到标准,或者删除所有版本的 IE6 和 IE7互联网上的所有计算机,或以每人 100 万美元的代价救助所有 Web 开发人员的痛苦和痛苦!

于 2008-12-09T17:25:44.727 回答
0

关于如何避免 ie6(及以下)一致性的大量问题,有无数种实现方法。唯一对我有用(甚至在很大程度上)是 Dean Edward 的解决方案。

尝试在主标题中插入以下行:

<!--[if lt IE 8]><script src="http://ie7-js.googlecode.com/svn/version/2.0(beta)/IE7.js" type="text/javascript"></script><![endif]-->

- 看看它是如何从那里开始的(以及你仍然需要处理什么,因为它可能无法解决所有问题)。

脚本大小只有 30kb,并且只能在 ie6 和 ie7 中加载。

谷歌代码网址(显然)是http://code.google.com/p/ie7-js/

于 2008-11-26T13:05:20.733 回答
0

实现我们在Ra-Ajax.org上所做的事情(提示,使用 IE 访问该站点;)

说真的,即使是prototype.js 和 37signals 现在也停止支持 IE6,我认为是时候继续前进了......

于 2008-11-28T00:13:49.853 回答
-1

虽然它可能是错误的解决方案,而且可能有点矫枉过正,但 jQuery 可以执行与此类似的模式弹出窗口,并且适用于 IE6。对于这样一个简单的答案,我可能会被否决,但在重新发明轮子之前,仍然值得考虑或至少看看其他解决方案。

于 2008-11-25T23:07:46.913 回答