2010-08-13 76 views
0

我正在嘗試製作一個腳本,它將在頁面中注入一個標籤。JavaScript讓瀏覽器永久加載並崩潰Safari

這就是:

<script type="text/javascript" charset="utf-8"> 
    var url = 'http://my_url.com/js/widget_rss.js?cle=4c65683101e22&host=' + window.location.hostname; 
    var scriptTag = document.createElement('script') 
    scriptTag.src = url; 
    var head = document.getElementsByTagName("head")[0]; 
    (head || document.body).appendChild(scriptTag); 
    </script> 

它工作時,它會調用其他的文件和文件運行,但它使永遠的瀏覽器加載...

任何想法有什麼錯呢?

謝謝!

+0

順便說一句,你可以使用延遲加載這個http://github.com/rgrove/lazyload – 2010-08-13 19:12:54

+0

有可能是你想加載的腳本有問題。你能發佈它的代碼嗎? – ntownsend 2010-08-13 20:13:41

回答

1

每次我需要這種腳本加載我用這個片段:

function loadScript(scriptName) { 
    var customScript = document.createElement('script'); 
      customScript.type = 'text/javascript'; 
      customScript.async = true; 
    customScript.src = scriptName; 
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(customScript); 
};//loadScript 

在此之後,你只用loadScript('path/to/script')調用。

如果您需要更高級的東西(比如回調和CSS加載器),您可以使用lazyload

+0

我和你的代碼片段幾乎完全相同。但我仍然嘗試過,它的確如此......:/謝謝你 – TomShreds 2010-08-13 19:33:02

+0

然後問題可能是你試圖加載的腳本:) – 2010-08-14 10:00:17