18

我想警告使用我的站点的 Internet Explorer 6 用户,IE6 过去与我的站点存在严重的兼容性问题。做这个的最好方式是什么?

理想情况下,我希望出现一条消息(不是新窗口,而是一个消息框,如果可能的话),警告 IE6 用户这些问题并建议他们更新到 IE7、Firefox 3 或 Opera 9.5。

4

9 回答 9

35

定位 IE 的最佳方式是使用条件注释。然后,您可以添加一些仅在 Internet Explorer 中显示的特定 HTML。

<!--[if IE 6]>
<h1>Please upgrade your browser!</h1>
<![endif]-->

更多关于这个主题:

http://www.quirksmode.org/css/condcom.html

于 2008-12-07T22:23:12.130 回答
13

好的,我会让这件事变得简单。没有弹窗!一场统计灾难。这是一个很好的小东西,它位于 . 我真的只担心 IE 6 或更早版本,因为它是弄乱我的设计的最大罪魁祸首。下面是一个条件语句(我认为最好的方法)。

把它放在头上(输入你想要的任何内容):

<!--[if lte IE 6]>
<div id="warning">
<h4 class="red">Your Browser Is Not Supported!</h4><br />
<p>Please upgrade to <a href='http://getfirefox.com'>FireFox</a>, <a href='http://www.opera.com/download/'>Opera</a>, <a href='http://www.apple.com/safari/'>Safari</a> or <a href='http://www.microsoft.com/windows/downloads/ie/getitnow.mspx'>Internet Explorer 7 or 8</a>. Thank You!&nbsp;&nbsp;&nbsp;<a href="#" onClick="document.getElementById('warning').style.display = 'none';"><b>Close Window</b></a></p>
</div>
<![endif]-->

将其粘贴在您的外部样式表中。我不会使用内联样式

#warning        {position:relative; top:0px; width:100%; height:40px; background-color:#fff; margin-top:0px; padding:4px; border-bottom:solid 4px #000066}

随心所欲地设计它 - 发疯!您可以使用 javascript 非常具体地检测任何浏览器,因此如果您知道如何,它可以增加更大的特异性。

这将是一个非常小的盒子,位于您的内容之上,让您的用户看到他们的浏览器很糟糕。

于 2009-04-06T19:52:36.113 回答
8

如果您想确定它是否支持浏览器以外的任何其他内容,您可能需要使用 jQuery 的浏览器检测,例如:

<script type="text/javascript">
// check if browser is IE6 (when IE) or not FF6 (when FF)
if (($.browser.msie && $.browser.version.substr(0,1) == '6')
    || ($.browser.mozilla && $.browser.version.substr(0,1) != '3')) {
        $('#browserWarning').show();
}
</script>

更新:正如不同所说,更好的选择是使用 IE if 语句,例如:

<style type="text/css">
/* this would probably be in a CSS file */
#browserWarning { display:none; }
</style>
<!--[if IE 6]>
<style type="text/css">
#browserWarning { display:; }
</style>
<![endif]-->

此选项要好得多,因为它不需要浏览器版本“完美”。但是,如果您想检测其他浏览器,因为它们不支持 if 语句,这将不起作用。然后你可能想使用 jQuery 来检测浏览器,尽管我建议尽量避免使用它。

于 2008-12-07T23:37:51.730 回答
5

条件注释提供了一种仅显示特定 Internet Explorer 版本的内容的方法。

<!--[if IE 6]>
Special instructions for IE 6 here
<![endif]-->
于 2008-12-07T22:23:43.893 回答
5

有一个名为Push Up the Web的项目建议所有用户升级到更新版本的浏览器。它不显眼且易于添加。

正如一些人建议的那样,最好的办法是使用条件注释来有效地定位 Internet Explorer。

对于其他评论者来说,随着 Internet Explorer 8 的发布(它有效地添加了两个额外的浏览器进行测试:标准 + 兼容模式),Internet Explorer 6 已经完成了它的进程。是时候让这些人升级浏览器了,在某些情况下升级操作系统/计算机。Internet Explorer 6阻碍了网络的发展。这是支持资源的消耗。它已达到 Netscape 4 的状态。主要网站和公司也加入了这场战斗。

更多阅读:

于 2009-05-09T12:36:28.303 回答
5

https://browser-update.org

网页设计师的一项倡议,旨在通知用户有关浏览器更新的信息

于 2015-10-26T23:00:01.303 回答
2

我的建议是不要使用弹出窗口或消息框。它们非常烦人,并导致糟糕的用户体验。最好在通知中插入一些<div>内容,使其从页面的其余部分中脱颖而出。不要过度使用它,只需为其分配一些颜色以确保它不会被忽视(并且请:不要使用<blink>;-)

于 2008-12-07T22:41:17.227 回答
1

虽然告诉用户更新他们的浏览器并且他们实际上这样做会很棒,但它真的不会发生。如果用户现在还没有升级他们的浏览器,通常是有原因的,缺乏计算机知识或无法控制计算机本身。例如,员工在工作机器上浏览您的网站。

我真的认为您应该重新考虑解决用户将遇到的问题或考虑进行渐进式增强。这个想法是您网站的基本功能适用于每个浏览器,然后开发任何额外的功能,以便它仅在可以支持它的浏览器上可见/可用。

于 2008-12-07T23:28:44.527 回答
-6

我的建议是修复您的网站 ;) 不认真,我会在页面顶部使用一个小横幅,就像 Firefox 和 IE 中不显眼的小对话框一样。不是消息框或实际上会干扰很多的东西。

于 2008-12-07T22:22:14.503 回答