Javascript 是否可以延迟加载Jquery(不是插件)?
我有几个JavaScript文件与我的许多页面一起加载,下载数据需要花费几万字节。其中一个版本是Javascript 是否可以延迟加载Jquery(不是插件)?,javascript,jquery,Javascript,Jquery,我有几个JavaScript文件与我的许多页面一起加载,下载数据需要花费几万字节。其中一个版本是jquery.min.js,虽然缩小了,但仍然是25kb左右 我的问题是,大量手机不支持JavaScript,因此下载此文件和其他JS文件是浪费数据。通过在调用JS文件的页面中添加一个标记来延迟加载JQuery文件,并且显然只有在浏览器支持JavaScript时才会执行,这才有意义下载它吗?要仅在特定条件下加载脚本文件,我使用了如下方法: <script type="text/javascrip
jquery.min.js
,虽然缩小了,但仍然是25kb左右
我的问题是,大量手机不支持JavaScript,因此下载此文件和其他JS文件是浪费数据。通过在调用JS文件的页面中添加一个
标记来延迟加载JQuery文件,并且显然只有在浏览器支持JavaScript时才会执行,这才有意义下载它吗?要仅在特定条件下加载脚本文件,我使用了如下方法:
<script type="text/javascript">
document.write('<scr'+'ipt type="text/javascript" src="/js/jquery.min.js"></scr'+'ipt>');
</script>
文件。写(“”);
注意:这只适用于内联,加载文档后,document.write()将产生不希望的效果
注2:重要的是要像
'
那样中断'
,以免混淆浏览器的解析器,使其认为真正的脚本块已结束。我用同样的方法做开场脚本标记,这是一个很好的衡量。如果浏览器不支持JavaScript,我认为它不会下载脚本,Firefox不会。我刚刚用Firefox和Firebug测试了这一点。看起来你是对的(我不知道,谢谢)。对于移动浏览器来说,一个明确的答案是令人欣慰的。如果你有权访问服务器的访问日志,你可以在发出请求时查看它。只需查看我的日志。看起来它们甚至没有加载,这使得这个问题变得多余。很好的代码片段:)可以很好地解释为什么要使用“Scr”+“ipt”而不是“Script”(我知道为什么,我只是认为应该在你的帖子中解释一下)。这将行得通,但前提是文档中已经有一个Script标记。如果没有包含其他脚本,则此操作将失败。
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');