2009-07-16 54 views
1

有誰知道如何在Chrome中動態添加腳本?我複製了以下在FF 3.0和IE7中運行的代碼,但不是Chrome。在Chrome中未動態添加腳本

function include_dom(script_filename) { 
     var html_doc = document.getElementsByTagName('head').item(0); 
     var js = document.createElement('script'); 
     js.setAttribute('language', 'javascript'); 
     js.setAttribute('type', 'text/javascript'); 
     js.setAttribute('src', script_filename); 
     html_doc.appendChild(js); 
     return false; 
    } 

    var included_files = new Array(); 

    function include_once(script_filename) { 
     if (!in_array(script_filename, included_files)) { 
      included_files[included_files.length] = script_filename; 
      include_dom(script_filename); 
     } 
    } 

    function in_array(needle, haystack) { 
     for (var i = 0; i < haystack.length; i++) { 
      if (haystack[i] == needle) { 
       return true; 
      } 
     } 
     return false; 
    } 

我可以通過運行看到附加到所述頭元件的代碼:

`document.getElementsByTagName( '頭')項目(0).innerHTML;

在Chrome的檢查器中,但是我看不到任何在我的HTTP嗅探器中被請求的腳本。

回答

3

好的,這實際上是Chrome緩存比FF和IE更積極。一旦我清除了Chrome的緩存,這些文件就被下載了。 FF和IE請求這些文件,但由於這些文件是最新的,因此並未真正下載它們。 Chrome並沒有要求他們。