我想使用Head JS來爲我的頁面動態加載所有其他腳本。我打算使用由CDNJS託管的版本來利用更好的緩存,減少的延遲等優勢。如何使用本地回退加載JavaScript中的本地回退
我沒有理由認爲CDNJS會去任何地方,但即使對於像谷歌CDN託管的文件,如jQuery,我喜歡包括後備。但是,當我使用jQuery時,這些文件包含在<body>
標記的末尾。由於Head JS的性質,我需要將其包含在我的頁面的<head>
中。
在<body>
我會用兩行這樣的:
<script src="http://cdnjs.cloudflare.com/ajax/libs/headjs/0.96/head.min.js"></script>
<script> window.head || document.write('<script src="js/libs/head-0.96.min.js"><\/script>') </script>
我可以使用相同的套系在頭上作爲備用? document.write()
會不會覆蓋我的整個頁面?由於瀏覽器解析DOM的順序,當腳本存在於<head>
中時,腳本加載的方式不同嗎?
我對這個還很新,所以任何指導都會非常有幫助!謝謝!
document.write只會在完成頁面加載後嘗試完成後破壞文檔。一個內嵌的document.write將作爲頁面的加載/解析執行,只需將寫入的數據原樣插入到文檔中即可。 – 2012-07-20 17:07:49
是的,但是不會在頭文件中加載調用'
中的_before_腳本,該腳本是從document.write中加載的? – stevenem 2012-07-20 17:55:33只有當您將以前的腳本標記標記爲'async'時。否則,腳本會同步加載。 – 2012-07-20 18:40:33