【发布时间】:2014-07-08 14:50:49
【问题描述】:
识别 IE 11 浏览器的最佳方法是什么?
IE 11 的 UA 格式为:Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv 11.0) like Gecko
我正在使用以下代码,但我需要知道使用它是否完全安全,或者是否还有其他替代方法?
sUserAgent = Request.ServerVariables("HTTP_USER_AGENT")
comstart = instr(sUserAgent,"(")
comend = instr(sUserAgent,")")
if comstart <> 0 then
cmtlist = mid(sUserAgent,comstart+1,comend-comstart-1)
else
cmtlist = " ; ; ;"
end if
cmtArray = split(cmtlist,";")
if instr(sUserAgent,"rv") > 0 then ' it's a Microsoft browser
browserName="MSIE"
browserVersion=right(cmtArray(1),len(cmtArray(1))-5)
endif
另外,在其他一些文件中,我使用了以下 JavaScript 代码。请告知是否建议使用此代码。如果有更好的方法,请提出建议。这段代码将来能否给出一些意想不到的结果? :
// In IE11, the true version is after "rv" in the User Agent string
var nAgt = navigator.userAgent;
if ((verOffset = nAgt.indexOf("rv")) != -1)
{
browserName = "Microsoft Internet Explorer";
fullVersion = nAgt.substring(verOffset + 3);
}
【问题讨论】:
-
一般来说,进行特征检测比尝试通过用户代理识别浏览器兼容性要好。您可能对modernizr.com 感兴趣
标签: cross-browser internet-explorer-11 browser-detection