我有几个JavaScript文件与我的许多页面一起加载,耗资数十亿字节的数据下载。其中一个是jquery.min.js
的版本,虽然缩小了,但仍然是25kb左右。
我的问题是,大量手机不支持JavaScript,因此下载此文件和其他JS文件会浪费数据。反过来是通过在调用JS文件的页面中添加<script>
标记来延迟加载JQuery文件,并且显然只有在浏览器支持JavaScript时才会执行,这样才有意义下载它?
答案 0 :(得分:3)
要仅在某些条件下加载脚本文件,我使用了类似的东西:
<script type="text/javascript">
document.write('<scr'+'ipt type="text/javascript" src="/js/jquery.min.js"></scr'+'ipt>');
</script>
注意:这只能在内联工作,文档加载完成后,document.write()会产生不良影响。
注意2:像'</script>'
一样打破'</scr'+'ipt>'
非常重要,这样才不会混淆浏览器的解析器,让您认为真正的脚本块已经结束。我以相同的方式执行开始脚本标记以获得良好的衡量标准。
答案 1 :(得分:0)
function loadScript(filename) {
var t = document.createElement('script'),
s = document.getElementsByTagName('body')[0];
t.type = 'text/javascript';
t.async = true;
t.src = filename;
s.parentNode.appendChild(t);
}
// If and when jQuery is needed, you'd load it with:
loadScript('http://code.jquery.com/jquery.min.js');