如何根据浏览器加载不同的JavaScript库?

时间:2018-10-09 10:37:04

标签: javascript html internet-explorer

不幸的是,我有一个无法在IE中运行的库,因为IE不支持Promise和其他html5功能。我想为Chrome和Firefox保留该库,但为IE使用另一个库。我该如何将两者分开,如下所示:

<!--[if IE]>
<script type="text/javascript" src="/myielib.min.js"></script>
<![else]>
<script type="text/javascript" src="/mychromelib.min.js"></script>
<![endif]-->

很显然,条件格式仅适用于> IE9浏览器,但是我想要类似的东西。

2 个答案:

答案 0 :(得分:0)

您可以在页面加载事件中使用浏览器检测功能:

function BrowserDetection() {
    //Check if browser is IE
    if (navigator.userAgent.search("MSIE") & gt; = 0) {
        // insert conditional IE code here
    }
    //Check if browser is Chrome
    else if (navigator.userAgent.search("Chrome") & gt; = 0) {
        // insert conditional Chrome code here
    }
    //Check if browser is Firefox 
    else if (navigator.userAgent.search("Firefox") & gt; = 0) {
        // insert conditional Firefox Code here
    }
    //Check if browser is Safari
    else if (navigator.userAgent.search("Safari") & gt; = 0 & amp; & amp; navigator.userAgent.search("Chrome") & lt; 0) {
        // insert conditional Safari code here
    }
    //Check if browser is Opera
    else if (navigator.userAgent.search("Opera") & gt; = 0) {
        // insert conditional Opera code here
    }
}

来源:https://www.learningjquery.com/2017/05/how-to-use-javascript-to-detect-browser

答案 1 :(得分:0)

您可以动态创建脚本 喜欢:

<script>
  var element=document.createElement('script');


  if(ie){
     element.setAttribute('src', 'ieSrc');
   }else{
     element.setAttribute('src', 'otherSrc');
   }
   document.getElementById("...").appendChild(element);
  </script>