2013-06-24 69 views
0

我在堆棧溢出中看到了關於如何獲取IE(在這種情況下,IE10,不支持條件HTML)加載不同的JavaScript文件的小提示。讓IE和Chrome瀏覽器加載不同的javascript文件

Getting IE to load a different js file

然而,在我的情況下,這個黑客正在爲Firefox和IE,但不爲Chrome。我懷疑這是因爲我的測試在標題中。真的嗎?

我應該看一些少聲明的,像jquery getScript()這樣的命令嗎?

(瀏覽器無法加載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> 
+0

您的代碼中沒有任何內容不適用於Chrome。可能你在'pouchdb-nightly.js'中有一些東西阻止了Chrome中的執行。控制檯中有任何錯誤? – Teemu

+0

控制檯中沒有錯誤。但是,如果我使用註釋掉的行而不是IF/ELSE代碼(即忘記IE10支持,只有FF和Chrome),那麼它工作正常。有沒有關於這個腳本運行在頭部可能會影響事情的事實? –

+0

我不明白,我已將您的代碼複製到本地文件,並且它的工作原樣。它只是在Chrome,FF甚至Opera中添加'',而IE在路徑中具有不同的文件名。它必須是'pouchdb-nightly.js'本身的東西。無論如何,也許你應該嘗試下面的答案代碼,他們應該至少是更現代的工作。雖然'head'就是'document.head'。 – Teemu

回答

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> 

可能是你做了一些錯誤,因爲你的代碼工作鉻到..

0

這應該工作在鉻和所有其他瀏覽器:

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