通过查找“Trident”字符串来检测IE

时间:2014-02-10 20:13:58

标签: javascript html css internet-explorer browser-detection

在我的网络应用中,我使用透明模糊滤镜叠加在视频上方。这适用于除IE10 / 11之外的所有浏览器。由于模糊过滤器是一个CSS属性,我无法像我应该做的那样进行适当的特征检测。相反,我正在使用它:

if(navigator.userAgent.indexOf("Trident")>-1) { // IE ... }

如果检测到IE,我会使用不同的滤镜(非模糊)。

是否存在此代码可能出现误报的情况?是否有任何与模糊兼容的浏览器使用Trident引擎?

编辑:我知道IE8和IE9都有自己的模糊过滤器,但为了保持一致性,我们决定对所有版本的IE使用相同的替代过滤器。

2 个答案:

答案 0 :(得分:4)

此页面说明了Internet Explorer使用的用户代理字符串:

http://msdn.microsoft.com/library/ms537503.aspx

它表示Trident令牌仅在IE8中引入,因此您可能想要检查“MSIE”,或者也可以。

还有这个页面:

http://msdn.microsoft.com/en-US/library/ms537509.aspx

是“已存档且不再主动维护”,但确实包含有关检测Internet Explorer的大量有用信息。

答案 1 :(得分:0)

您可以检测过滤器支持,如此问题的答案中所述: How can I feature-detect CSS filters?