0

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

让 IE 加载不同的 js 文件

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

我应该看看像 jquery getScript() 这样的声明性和命令性较少的东西吗?

(Chrome 没有加载 PouchDB-nightly.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>
4

2 回答 2

1

试试这个,它在 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 中工作...

于 2013-06-24T14:49:58.327 回答
0

这应该适用于 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);
  }
于 2013-06-24T14:54:34.283 回答