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



不幸的是,我有一个在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 浏览器,但我想要类似的东西。

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

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

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

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

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

最新更新