我想使用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