我正在使用以下代码向网页添加一些条件样式(我使用IE 9的传统条件注释和向下):
<?php if (stripos($_SERVER['HTTP_USER_AGENT'], 'MSIE 10')) { ?>
<link href="/css/ie9.css" media="screen" rel="stylesheet" />
<?php } ?>
问题是样式表仍未应用于某些版本的IE 10,绝对不是IE 11预览版。有没有办法定位所有版本的IE 10及以上版本?我只看过使用[1-9]的格式,但[10-11]似乎没有用。
答案 0 :(得分:0)
在您的用户代理检查中放置一些代码以查看是否有任何返回,它可能返回“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