是否可以延迟加载Jquery(而不是插件)
Is it possible to lazy load Jquery (not a plugin)?
我有几个JavaScript文件与我的许多页面一起加载,下载的数据量高达数十KB。其中之一是jquery.min.js
的一个版本,虽然缩小了,但仍然是25kb左右
我的问题是,很大一部分手机不支持JavaScript,所以下载这个和其他JS文件是浪费数据。有没有办法通过在调用JS文件的页面中添加<script>
标记来延迟加载JQuery文件,并且显然只有在浏览器支持JavaScript的情况下才会执行,只有这样下载它才有意义?
为了只在特定条件下加载脚本文件,我使用了以下内容:
<script type="text/javascript">
document.write('<scr'+'ipt type="text/javascript" src="/js/jquery.min.js"></scr'+'ipt>');
</script>
注意:这只适用于内联,在加载完文档后,document.write()将产生不希望的效果。
注意2:重要的是要像'</scr'+'ipt>'
一样断开'</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');
相关文章:
- 延迟加载jquery后替换$(document).ready(function)
- 延迟加载背景图像时防止双重请求
- 延迟加载 脚本加载和/或执行
- 使jquery延迟加载插件在视口内工作
- 如何在水平滚动 Jquery 上实现延迟加载
- 如何使用angularjs延迟加载谷歌jsapi图表
- 使用requirejs对延迟加载成员模块进行Typescript
- 淘汰具有延迟加载的多选下拉列表
- Kendo UI树视图中的延迟加载(带缓存)
- 使用Twitter引导程序's Scrollspy到延迟加载(滚动加载)异步JavaScript
- Javascript客户端从ASP.NET MVC后端延迟加载模型
- 在featherlight.js中延迟加载iFrame
- 如何包含多个JS文件-延迟加载javascript
- Colorbox插件正在加载其自身的两个实例
- 使用筛选延迟加载项目
- AngularJS正在等待CSS延迟加载
- Wookmark 插件的延迟加载
- 是否可以延迟加载Jquery(而不是插件)
- Angular 2 CLI-第三方JS插件延迟加载
- Jquery延迟加载插件