源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

预加载css或javascript的js代码

  • 时间:2021-12-19 23:22 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:预加载css或javascript的js代码
预加载文件一般有两种常用的方式:xhr和动态插入节点的方式。动态插入节点是最为简单也最为广泛的一种异步加载方式(例如yui的Get模块),然后使用动态插入节点方法加载的文件都会在加载后立即执行,javascript的执行一方面会占用浏览器js执行进程,另一方面也可能改变页面结构,而css的执行更有可能让整个页面变化。xhr方式虽然不会执行脚本,但是由于同域的限制,且如今网站的静态文件都是部署在cdn服务器上,如何预加载css js文件也变有点玄妙了。 Stoyan Stefanov 撰文简明的阐述了一种加载文件而不会让之执行的方法。原文可见 [url=http://www.phpied.com/preload-cssjavascript-without-execution/]http://www.phpied.com/preload-cssjavascript-without-execution/ [/url] 具体的方法是,ie中使用 new Image().src 去预加载文件,而其他浏览器使用动态插入的 <object> 标签来完成加载。 部分代码如下
[url=http://phpied.com/files/object-prefetch/page1.php?id=1]http://phpied.com/files/object-prefetch/page1.php?id=1 [/url] 几点说明: 1. new Image().src 之所以不能在ff中使用是因为ff对图片实现了一套单独的缓存。 同时safari和chrome看起来也没有被缓存。 2. 动态插入的 object 标签需要插入到非 head部分,以触发加载。 3. ie7 ie8 也可以通过一些代码使用动态object加载文件(代码注释中有提到)。但是作者发现object 通常会消耗很大, so... 通过自身的实验发现相当不错的,有需求的同学不妨一试。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部