让IE和Chrome加载不同的javascript文件

Getting IE and Chrome to load different javascript files

本文关键字:javascript 文件 加载 IE Chrome      更新时间:2023-09-26

我在Stack Overflow中看到了关于如何让IE(在本例中是IE10,它不支持条件HTML)加载不同的JavaScript文件的小提示。

获取IE加载不同的js文件

然而,在我的情况下,这个破解适用于FireFox和IE,但不适用于Chrome。我怀疑是因为我的测试在标题中。这是真的吗?

我应该考虑一些不那么声明性和命令性的东西,比如jquery getScript()吗?

(Chrome没有在夜间加载PouchDB.js)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Map DownLoader - V1.2</title>
    <script src="../Kendo/jquery.1.9.1.min.js"></script>
    <script src="../Kendo/kendo.all.js"></script>
    <script src="xhr2lib.js"></script>
    <script type="text/javascript">
        var ie = !(navigator.userAgent.indexOf("MSIE") < 0);
        if (ie == false) {
            document.write("<script src='"../PouchDB/pouchdb-nightly.js'"></scr" + "ipt>");
        } else {
            document.write("<script src='"../PouchDB/pouchdb-nightly-IE.js'"></scr" + "ipt>");
        }
    </script>
<!--    <script src="../PouchDB/pouchdb-nightly.js"></script>-->
    <script src="VM.js"></script>
    <script src="LayerChooser.js"></script>
    <script src="Downloader.js"></script>
    <link href="../Kendo/styles/kendo.common.min.css" rel="stylesheet" />
    <link href="../Kendo/styles/kendo.metroblack.min.css" rel="stylesheet" />
    <link href="../Kendo/styles/kendo.dataviz.metroblack.min.css" rel="stylesheet" />
    <link href="../Styles/ButtonStyles.css" rel="stylesheet" />
    <link href="../Styles/DownloadStyle.css" rel="stylesheet" />
</head>

试试这个,它在chrome:中对我有效

<script type="text/javascript">
function loadit(){
var head= document.getElementsByTagName('head')[0];
   var script= document.createElement('script');
   script.type= 'text/javascript';
   script.src= '../PouchDB/pouchdb-nightly.js';
   head.appendChild(script);
}
</script>

但可能您犯了一些错误,因为您的代码在chrome to中工作。

这应该适用于chrome和其他所有浏览器:

 if (ie == false) {
    var s = document.createElement('SCRIPT');
    s.charset = 'UTF-8';
    s.src ='../PouchDB/pouchdb-nightly.js';
    document.getElementsByTagName('HEAD')[0].appendChild(s);
  }