簡體   English   中英

動態(2級)JavaScript / CSS加載IE6

[英]Dynamic (2 levels) Javascript/CSS Loading IE6

我正在嘗試將js(和css)文件動態地包含在這樣的網頁中:index.html-> loader_a.js-> a_foo.js,a_bar.js,a_foo.css等。
雖然這在FF(使用appendChild)中沒有問題,但我無法在IE6中運行它。 我嘗試了各種可用的解決方案(將其添加到dom節點,ajax調用和eval中,以及其他更多解決方案,網址為( http://ntt.cc/2008/02/10/4-ways-to-dynamically-load-external-javascriptwith-source .html )在這里和那里,以及其他類似文章#2013676),但它沒有做應做的事情。

當我使用DebugBar檢查時,我看到我的包含文件(例如a_foo.js)實際上已加載,但其內容為空-在其他包含的文件(1級/直接)上,此內容已顯示,因此我認為存在問題.. 。

我得到的“錯誤”始終是未定義的對象,它是o / cb / c,我調用的函數未正確加載,因此沒有太多幫助。 我沒有在包含任何錯誤。
我已經驗證了javascript,因此那些沒事的人。

有人對此有最終解決方案嗎? 我可以重新創建測試並發布一些代碼(如果有幫助的話)。

謝謝,問候,托馬斯

HTML示例:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<HTML lang=en><HEAD><TITLE>Test</TITLE>

<script type="text/javascript" src="mmtest_files/jquery-1.4.2.min.js"></script>

<script type="text/javascript" src="mmtest_files/multiload.js"></script>
<script type="text/javascript" >

function init2() {
  // using the data from the loaded js files
  var a= mmf("a");
  document.getElementById('status').innerHTML = "Variable set:" + a;

}

// magic...
include(['mmt.js'],init2);

</script>

<BODY >

<H2>Test me!</H2>
<SPAN id=status>status old</SPAN>

</BODY></HTML>

JS 1是答案1的重載

JS2是一個測試,包括:

函數mmf(param){return“ Called with” + param; }

您需要使用document.write中的,以便並行加載腳本。

請參閱: 加載腳本而不阻塞

我有這樣的腳本順便說一句: 異步加載多個Javascript文件

(可能需要在Chrome中進行一些修飾)


更新

有一個回調函數,它是可選的。 它可用於將依賴腳本耦合到文件。 例如:

function myjQueryCode() {
   // ...
}

include(['jquery.js','jquery-ui.js'], myjQueryCode);

這樣,依賴於jquery的代碼將在文件加載后運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM