如何仅为IE 9以上的浏览器插入脚本

时间:2018-09-25 06:55:41

标签: javascript internet-explorer scripting

我只想在浏览器高于IE 9的情况下将脚本注入到我的页面中。不是IE 9及以下版本

我发现这是因为仅在IE 9及以下版本中包含了脚本:

if (/MSIE \d/.test(window.navigator.userAgent)) {
   // script goes here
}

但是当我试图像这样否定它时(不是感叹号):

if (!/MSIE \d/.test(window.navigator.userAgent)) {
   // script goes here
}

它不起作用

有人能解决这个问题吗?

基本上,我很高兴脚本可以在IE10、11,edge,chrome,firefox等中加载

谢谢

2 个答案:

答案 0 :(得分:1)

<!--[if gt IE 9]>
  <script...>
<![endif]-->

尝试此条件注释。

答案 1 :(得分:0)

请参见Conditional Comments,尤其是Downlevel-revealed conditional comment

  

[...]如果编写要在非IE浏览器和某些浏览器上显示的代码   IE版本),然后IE会在显示之前显示“ -->”   HTML内容。只需在“ <!”前面加上“ {   初始“ -->”,如下所示:

<!--[if gt IE 6]><!-->
This code displays on non-IE browsers and on IE 7 or higher.
<!--<![endif]-->
     

非IE浏览器将忽略多余的“ <!”; IE也忽略了它   不论条件如何,因为如果为假,则   条件注释将被忽略,如果为true,则生成的标签<!-->   无法识别,因此被忽略。

要在所有非IE浏览器以及IE9及更高版本上有条件地加载脚本,可以使用以下条件注释:

 <!--[if gt IE 9]><!-->
 This code displays on non-IE browsers and on IE 9 or higher.
 <!--<![endif]-->