我知道有像https://code.google.com/p/ie6-upgrade-warning/和http://browser-update.org这样的插件非常方便地警告用户不要使用 IE6/7。
但是,如果我想更进一步并自定义检测以显示“抱歉,不支持 IE,请下载 Chrome”怎么办?有这样的插件吗?谢谢
我知道有像https://code.google.com/p/ie6-upgrade-warning/和http://browser-update.org这样的插件非常方便地警告用户不要使用 IE6/7。
但是,如果我想更进一步并自定义检测以显示“抱歉,不支持 IE,请下载 Chrome”怎么办?有这样的插件吗?谢谢
Stack Overflow 是获取您正在寻找的答案的好地方,但有时您正在寻找的答案并不是您真正需要的答案。在这种情况下,我必须给你后者,因为给你前者会对你和你的同龄人造成极大的伤害。
不要试图检测单个浏览器,然后将您的流量汇集到另一个浏览器中——这对业务不利,对您的职业生涯不利,对整个网络也不利。我的意思不是不尊重,我只是作为一个观察网络十多年的人说话。
今天使用 Internet Explorer 6 的用户不在那里,因为它是他们最喜欢的浏览器,因此要求他们进行更改只会让他们感到沮丧,并可能将他们赶出您的网站。关于这一点的更多信息,以及 Kyle Simpson 的演讲Browser Versions are Dead中的相关点。正如著名开发者 Nicholas Zakas 所说,是时候停止指责 Internet Explorer 了。
就一般的 Internet Explorer 而言,最新的分期付款令人难以置信。Internet Explorer 9 标志着产品发生了根本性的变化,显示出对 Web 标准的支持越来越多。此后 Internet Explorer 10 很快发布(打破了 2 年发布周期的想法),并显示了对许多甚至 Chrome 尚不支持的“CSS3”功能的支持。
今天,行业本身似乎正在欣赏 Internet Explorer,包括科技巨头Leo Laporte 和 Steve Gibson。Lea Verou(Dabblet、Prism和W3C 员工的创建者)曾公开表示“IE在几个版本之前是一个糟糕的浏览器。IE10 实际上非常好,而不仅仅是像样的”。还宣布“jQuery 2.0 现在为 Chrome、Safari 和 Firefox 提供了比 Internet Explorer 更多的补丁和填充程序!”
我最近一次又一次地发现,当 Internet Explorer 10 呈现不正确的内容时,这通常是由开发人员尝试一些“聪明的技巧”来检测 Internet Explorer 并提供替代内容造成的。最近的一个示例来自一个尝试仅向 IE7 及更高版本提供内容的站点,该站点执行以下操作:
if ( $.browser.msie && $.browser.version.substr(0, 1) < 7 ) {
/* Assume this is IE6 or below, and deliver substandard experience */
}
这个小技巧建议版本“10.0”实际上是 Internet Explorer 1,并提供了可怕的体验。修复此代码,使 IE 获得为 Chrome 设计的相同体验,从而恢复了站点 -一切正常。这在今天并不少见,它已经发生了一次又一次。
与其专注于如何让访问者安装新软件来查看您的网站,不如专注于编写基于标准的标记,使用渐进增强、功能检测、必要时使用 polyfill 等最佳实践,并与您的网站保持一致在旧浏览器中优雅地降级。毕竟,您的网站不需要在每个浏览器中看起来都一样。
最后,今天测试 Internet Explorer 的成本几乎消失了。虽然它在 Mac 和旧版本的 Windows 上不可用,但 Internet Explorer 的每个版本(6 到 10,现代和桌面)都可以通过 BrowserStack 使用(3 个月免费,由 Microsoft 提供),也可以通过免费下载在modern.IE上的虚拟机。更不用说浏览器内的仿真了,这让 CSS-Tricks 的 Chris Coyier兴奋不已。
关于 Internet Explorer 的未来,David Storey(Opera 的新成员,W3C WG 成员)表示它看起来非常光明。
我不会推荐一个警报,但我还是把一个警报放在一起,只是因为我明白是什么驱使开发人员做这种事情...... IE 不那么糟糕?真的吗?
警报选项
<!--[if IE]>
<script>alert("Sorry, IE is not supported, Please download Chrome");</script>
<![endif]-->
侵入性较小的<div>
选项
<!--[if IE]>
<div id="box">Sorry, IE is not supported, <a href="https://www.google.com/intl/en/chrome/browser/?hl=en&brand=CHMA&utm_campaign=en&utm_source=en-ha-na-us-bk&utm_medium=ha">Please download Chrome</a></div>
<![endif]-->
您可以将<!--[if IE]>
用于仅当用户在 IE 中查看您的页面时想要显示的任何内容,也适用于 css 解决方法。