使用ColdFusion检测IE11

时间:2014-04-14 20:40:56

标签: internet-explorer coldfusion internet-explorer-11 browser-detection cfml

我可以使用下面的代码检测以前版本的Internet Explorer。但是,在IE 11中,用户代理字符串不再包含“MSIE”字。有没有办法使用相同的方法检测IE 11?

<cfif #CGI.HTTP_USER_AGENT# CONTAINS "MSIE">
//do something
<cfelse>
//do another thing
</cfif>

这就是我要检测IE 11的方法,但不起作用。

<cfif #CGI.HTTP_USER_AGENT# CONTAINS "MSIE" OR REMatch(#CGI.HTTP_USER_AGENT#, "Trident/7.*rv:11")>
</cfif>

2 个答案:

答案 0 :(得分:1)

rematch接受两个论点。第一个是正则表达式,第二个是您正在测试的字符串。你的论点不合时宜。

REMatch("Trident/7.*rv:11", CGI.HTTP_USER_AGENT)

REMatch返回一个数组,因此你想要测试数组的长度。

arrayLen(REMatch("Trident/7.*rv:11", CGI.HTTP_USER_AGENT)) neq 0

你为什么要这样做?

IE11是一款现代浏览器,您通常使用网站或网络应用程序执行的大多数操作都可以在IE11中与其他任何浏览器一样使用。

答案 1 :(得分:0)

这里有一个关于IE11的新浏览器字符串的解释:

http://blogs.msdn.com/b/ieinternals/archive/2013/09/21/internet-explorer-11-user-agent-string-ua-string-sniffing-compatibility-with-gecko-webkit.aspx

这将帮助您决定将哪些内容放入表达式以检测IE11。