我有一个简单的HTML登录表单,我只希望将其显示给使用Internet Explorer的用户(根据现有设计,显然不是选择),并在任何其他浏览器访问时显示错误消息。
我的问题是,如果有的话,使用正文中的<!--[if IE]>
标记确定要显示的内容有多么错误?使用它有什么缺点吗?
的login.html
<html>
<head>
...
</head>
<body>
<!--[if IE]>
<form>
...
</form>
<![endif]-->
<![if !IE]>
This site can only be accessed via Internet Explorer
<![endif]-->
</body>
</html>
我很清楚我可以使用JavaScript,CSS或服务器端的东西来执行此操作,但我希望尽可能少地更改代码和设计,并且实际上很好奇上述方法的缺点。
答案 0 :(得分:3)
根据MSDN,从IE 10开始,标准模式不支持条件注释。
http://msdn.microsoft.com/en-us/library/ms537512(v=vs.85).aspx
也就是说,如果您通过使用它们来支持所需的浏览器,那就去吧。但如果他们逐步退出,不要感到惊讶。
另外,你的语法在非IE评论上是错误的。应该是两条评论,以便其他浏览器正确处理它。
<!--[if !IE]-->
This site can only be accessed via Internet Explorer
<!--[endif]-->
答案 1 :(得分:1)
每当您尝试进行浏览器检测时,都会在应用程序中面临误报的风险。浏览器检测有多种形式:
您最好使用功能检测来识别您的浏览器支持/不支持的内容并提供替代方案。 Here's a good write up on both subjects
答案 2 :(得分:0)
在我看来只要:
然后没有理由不这样做。
很多关于html和css归结为个人偏好,只要你实现了上述目标然后去了它。