2010-08-13 77 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