仅针对IE 6和IE 7显示消息的最佳方法是什么?


11

仅针对IE 6和IE 7显示文本消息的最佳方法是什么?

我是否应该在网页上添加html标记,并且通常对上述浏览器以外的所有浏览器使用CSS对其进行隐藏?

当我使用IE6 IE7时,是否应该使用CSS隐藏网站并仅显示该html标签?

谢谢


您的目标是阻止IE6和7用户访问您的网站吗?
约翰·孔德


查找IE 6和7病毒并将其放在您的页面上。如果他们被感染,他们就是IE浏览器,使病毒劫持浏览器并在每次加载您的网站时显示一条短信……开个玩笑!;)
Itai

Answers:


0

限制浏览器对网站的访问非常困难,因为没有100%可靠的方法可以做到这一点。

您的第一个问题是用户代理欺骗。浏览器可以使用他们想要的任何用户代理来标识自己。带有扩展名的浏览器似乎可以做到这一点。如果使用IE6或IE7的用户将其用户代理更改为IE8或Firefox 的用户代理,他们将进入网站。

您可以使用JavaScript通过功能检测来解决该问题。基本上,您使用JavaScript进行了简单的测试:检查是否存在IE6或IE7中不存在的功能。如果不是,您知道是他们。这样做的问题是,如果他们关闭JavaScript,他们会轻易地绕过它。

多层方法是使用用户代理(最好是在Apache或IIS中)使用用户代理在服务器端进行浏览器嗅探,然后将这些用户重定向到告诉他们您不支持其浏览器的页面。顺便说一句,这比简单地隐藏网站更具礼貌。我将使用JavaScript功能检测方法来对此进行补充。在这两个用户之间,您将抓住除技术最精明的用户以外的所有用户,而且很可能他们仍然没有使用IE6或IE7。


@John Conde我的问题实际上不是关于如何检测浏览器,而是关于一旦检测到浏览器如何显示不同的内容
aneuryzm 2010年

1
这与重定向一样简单,具体取决于您选择浏览器嗅探的方式。如果选择Apache,则重定向到.htaccess文件中的特殊页面。如果选择JavaScript,请使用window.location。只是尝试使用CSS隐藏网站仍然可以使用户使用所有内容。没有一点努力,他们就是看不到它。通过这些方式,您可以使它们完全脱离内容。
约翰·孔德

@John Conde哦,是的,您呢
aneuryzm 2010年

5
有一种100%简便的方法可以做到这一点,特别是针对IE浏览器。那是有条件的评论。说没有办法,然后详细说明它无法与用户代理一起使用的方法,并不是对这个特定问题的好答案,因为它可以在没有用户代理检测的情况下完成。
Evgeny

2
我不敢相信这被选为正确答案。
Marco Demaio 2010年

5

有条件的CSS注释或使用JQUERY浏览器检测:

链接到CSS条件注释

链接到Jquery浏览器检测

使用这些,您可以设置样式,例如隐藏普通内容的div和显示替代内容的div。或者使用JS更改内容及其显示方式。

如果您只想删除IE6用户的所有内容,并向他们显示一条消息告诉他们进行更新,则可以将CSS设置为将所有内容隐藏在正文中,并通过jquery检测引发警告加载。这很苛刻,但只要他们不打算偷偷摸摸或绕开它,大多数情况下都应该起作用。在这种情况下,他们可能不是您所针对的人。


+1条件注释在大多数情况下效果最佳,因为只有IE浏览器才能“理解”它们。
叶夫根尼(Evgeny)2010年

1
使用jQuery浏览器检测来在IE 6/7上显示消息,这就像试图通过窗户进入您的房子而不是使用门一样。
Marco Demaio 2010年

Marco的评论很棒!遗憾的是,这是我们工具包中的一个选择,但我总是会想像它现在正爬入我家的一扇窗户。爱它!
XOPJ


4

在页面HTML源代码中添加这些类型的HTML条件注释

<!--[if IE 6]>
<h1>Hello, u r using IE6, your message here</h1>
<![endif]-->

<!--[if IE 7]>
<h1>Hello, u r using IE7, your message here</h1>
<![endif]-->

<!--[if lt IE 8]>
<h1>Hello you are using a version of IE less than IE8, your message here</h1>
<![endif]-->

除IE会解析所有内容并相应地表现出来之外,所有其他浏览器都将像普通HTML注释一样跳过以上所有内容。


0

那么-为什么要从ie6 / 7中“隐藏网站”呢?如果是特定于用户代理的消息传递,我将投票给有条件的评论。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.