您现在的位置:首页 --> JavaScript --> 动态加载JavaScript的小实践
动态加载JavaScript的小实践
浏览:2381次 出处信息
动态加载JavaScript文件和CSS资源为Web前端开发提供了巨大的灵活性,同时也实现了lazy load和按需加载,相比XMLHttpRequest而言其没有跨域的限制使其广泛应用。其基本原理是:在页面DOMReady后,利用JavaScript把指定文件路径的script和link元素插入到页面中,然后判断其加载状态再进行继续操作。
YUI的Get就专门提供了一套动态加载的机制,是YUI最基础的功能之一。在YUI中利用Get加载JavaScript和CSS资源会在HTML的head节点中插入如下代码:
当页面编码和JavaScript或CSS资源编码不一致时,常见的方法是通过charset属性声明其编码,比如页面是gb2312,而资源文件为utf-8,则设置编码后其插入的代码是
//YUI3.0.0 和 YUI 2.8.0中
然而,在IE的一些特殊情况下加载JavaScript时,当你刷新页面时会看到状态栏上有如下的错误提示:
当你通过随机参数让JavaScript文件不缓存时,或者让script元素中的charset属性位于src属性之前(比如利用YUI2.8.0之前版本加载)就不会有这个错误提示。所以,这个问题可能是IE的缓存解码机制的bug,也可以看着是YUI的bug(已经提交给YUI开发团队,将在3.1.0中解决)。
因此,动态添加script或CSS资源时,把charset放在资源路径前面是最佳实践。对于YUI,暂时可以这样修改源码来修复。
建议继续学习:
- JQuery,Extjs,YUI,Prototype,Dojo 等JS框架的区别和应用场景简述 (阅读:3207)
- php无法加载pcre.so的解决办法 (阅读:3148)
- CSS实现HTML元素透明的那些事 (阅读:2896)
- 用C++面向对象的方式动态加载so (阅读:3005)
- 一个IE6下重复加载的BUG (阅读:2996)
- YUI 还是 jQuery? (阅读:2804)
- IE6图片加载的一个BUG (阅读:2814)
- JS文件加载失败处理 (阅读:2750)
- 渐进式的脚本加载 (阅读:2556)
- 使用YUI 3开发Web应用的诀窍 (阅读:2123)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:在HTML中获取正确的URL属性值
后一篇:js不同浏览器检测 >>
文章信息
- 作者:秦歌 来源: 随网之舞
- 标签: YUI 加载
- 发布时间:2009-11-13 18:37:49
建议继续学习
近3天十大热文
-
[83] memory prefetch浅析
-
[53] 转载:cassandra读写性能原理分析
-
[51] 深入浅出cassandra 4 数据一致性问
-
[51] 基本排序算法的PHP实现
-
[46] 字符引用和空白字符
-
[41] Inline Form Labels
-
[41] MySQL半同步存在的问题
-
[40] JS中如何判断字符串类型的数字
-
[40] 获取Dom元素的X/Y坐标
-
[40] javascript插入样式