我使用以下代码将一些条件样式添加到网页中(对IE9和IE9使用传统的条件注释):
<?php if (stripos($_SERVER['HTTP_USER_AGENT'], 'MSIE 10')) { ?>
<link href="/css/ie9.css" media="screen" rel="stylesheet" />
<?php } ?>问题是样式表仍未应用于某些版本的IE 10,而绝对不是IE11预览版。是否有办法针对所有版本的IE10和更高版本?我只见过使用1-9的格式化,但10-11似乎不起作用。
发布于 2013-10-02 18:28:31
在您的用户代理检查中放入一些代码,查看是否有任何内容被返回,它可能是返回"MSIE 10“以外的其他内容,IE 10+可能只返回IE或其他语句。我一直在使用javascript来做同样的事情。(尽管纯粹主义者呼吁使用有条件的注释)
这是我的javascript:
function isIE(ver)
{
var myNav = navigator.userAgent.toLowerCase();
var IEVer = parseInt(myNav.split('msie')[1]);
if ((typeof IEVer == "undefined") || (IEVer == null)) {
IEVer = 0;
}
if IEVer = ver {
return true;
}
else {
return false;
}
}然后,在我要添加样式表的地方执行如下操作:
if isIE(10) { do something }更新:根据Microsoft的说法,您应该使用特征检测而不是浏览器检测:http://msdn.microsoft.com/en-us/library/ie/hh273397%28v=vs.85%29.aspx。
https://stackoverflow.com/questions/19141721
复制相似问题