尤其是JavaScript 文件,在下载它时,并行下载实际上是被禁用的,并且还会阻塞页面的呈现!
关于JavaScript 的下载
在下载JavaScript 脚本文件时,浏览器不会并行启动其它下载,而是让JavaScript 脚本文件单独下载完毕后,再继续其它请求。这将对页面的整体性能是一个很大的问题,解决方案如下:
解决方案1:将JavaScript 脚本内联在页面中,即直接将JavaScript 脚本写在HTML标签中。
优点:速度最快。在大型网站的首页中,可以合理的将JavaScript 脚本的一部分直接内联在HTML标签中。
缺点:JavaScript 脚本不被单独缓存,其它页面不能共享该JavaScript 脚本(不能重用)。
解决方案2:将JavaScript 脚本标签的链接(link)放在HTML文件标签的底部。
要求:脚本中不包含document.write() 方法改写页面。
解决方案3:使用延迟(Defferred) 脚本。即在link标签中添加defer 属性表明JS脚本中不包含document.write() 方法。
缺陷:在Firefox 中使用延迟(Defferred ) 脚本后,JavaScript 脚本还是会阻塞呈现、阻塞并行下载。
而在IE中,效果也不明显。
总结:如果一个脚本可以使用延迟(Defferred ) 脚本技术,那么它一定可以移到页面的底部!
即“解决方案3”完全可以用“解决方案2”替代。
解决方案4:使用加载后下载。即JavaScript 脚本在页面加载完毕后,通过onload 事件动态下载。(CSS也通用 )
优点:既不阻塞HTML页面的呈现,又能实现JavaScript 脚本的重用(脚本将被缓存在浏览器中)。
缺点:产生额外的JavaScript 代码用于实现该功能,增加了程序复杂度。
问题:可能加载两次(内联一次,外部加载一次)。
可以使用IFrame嵌套一个页面并加载JavaScript 脚本来解决。
示例:http://stevesouders.com/hpws/post-onload.php
解决方案5:动态内联。根据cookie做指示器,用代码进行判断,实现将外部JS内联到页面当中。
动态内联是对“加载后下载”的进一步完善。也再次增加了程序复杂度。
虽然JavaScript 脚本推荐放在页面底部,但CSS样式表则应该放在页面的顶部!
关于JavaScript 的精简
精简(Minification)是从代码中移除不必要的字符、注释、空白以减小JavaScript 代码的大小,进而改善JavaScript的下载长度和加载速度。
精简工具:JSMin
JS Minifier js压缩 JSMin 用于去除javascript 文件中所有不必要的字符、注释、空白。
cmd 使用方法:C:\Documents and Settings\xugang>jsmin <openWin.js> js_rerurn.js
1. 先指定到 jsmin.exe 文件夹
2. openWin.js为源文件
3. js_rerurn.js为目标文件
精简工具:ShrinkSafe( 原名:Dojo Compressor ) http://dojotoolkit.org/docs/shrinksafe
ShrinkSafe 用于移除javascript 文件中的空白,同时还通过替换的方式缩短了变量名。
cmd 使用方法:java -jar shrinksafe.jar infile.js > outfile.js
shrinksafe.jar是工具名
infile.js为源文件
outfile.js为目标文件
注意:在控制台运行时,要保证shrinksafe.jar和js.jar是在同一个目录,并且输入的JS源文件和输出的JS目标文件也会在同一个目录。(默认在C盘根目录)
一般可以对你的JavaScrip文件同时使用JSMin 和 ShrinkSafe 这两个工具进行精简。
压缩组件
同时,不要忘记通过HTTP的头部声明,压缩脚本、样式表和HTML文档来减少响应时间。
浏览器客户端的请求: Accept-Encoding: gzip, deflate
Web服务器端的响应:Content-Encoding: gzip
gzip是目前流行和理想有效压缩方法,deflate效果略逊且不太流行。
相关推荐:
SEO引擎优化方法-让你的网站流量暴增的实战指南,ai智慧树
什么是SEO可以自学吗,seo零基础可以自学吗 ,ai1紫
文字生成AI开启创作的新纪元
为什么网站要做seo,网站做seo的目的是什么 ,ai初选
GPT怎么收费?揭秘AI技术的定价与价值,ai报考高考
ChatGPT无法加载?检查您的网络设置并尝试重启Chat,ai写作怎么写作文的
SEO课:让你从小白变成搜索引擎优化高手,推广自媒体营销计划
人工AI软件的未来:智能时代的创新驱动力
ChatGPT美区要梯子吗?轻松畅享全球智能聊天体验,ai音位
SEO收费如何选择合适的SEO服务,提升网站排名并增加曝光度,做网站优化哪家实惠
ChatGPT为什么访问不了了?了解背后的原因与解决方法,AI怎么拖入路径
中国AI软实力崛起:技术创新与产业应用的完美融合,seo0066
SEO行销:开启网站流量增长的秘密武器,百威产品关键词查询排名
seo要学什么语言,做seo需要什么语言 ,ai martino
SEO与SEM:谁才是提升网站流量的王者?,Ai中字体如何变形立体
ChatGPT怎么打不开了?揭秘背后的原因与解决方法,ai中打开ai文件丢失
ChatGPT不能访问,我的学术水平直线下降,泰州大数据ai艾灸价格
AI人工智能文章生成平台,释放创作无限可能
AI智能时代的到来:如何利用人工智能推动生活与商业创新,ai相册下载
AI文章精简-高效提炼与优化你的内容创作,ai quid
Chat启用后ESX连不上?解决方法一网打尽!,为什么AI续写这么离谱
SEO收集:如何通过有效数据收集提升网站排名,鞍山商城网站建设报价
SEO监控:精准把握网站排名与优化成效的利器,湖南seo排名商家名单
SEO结构优化:助力网站提升排名与流量的关键策略,杭州小网站推广哪家好做
ChatGPT4账号共享-让AI助力你的学习与工作,轻松提升效率,ai巨无霸
SEO做好,企业网站流量翻倍的关键,seo白帽技术有哪些
SEO分类:从基础到进阶,全面解析SEO优化的关键要素,新建设网站排名
ChatGPT无法加载?检查网络并尝试重启,助您快速恢复畅通体验,burj ai
互联网快照:记录数字时代的每个瞬间,全网seo怎么优化内容
ChatGPT故障你从未听过的真相,究竟是什么让它偶尔“失灵”?,ai 图片 矢量
好用的人工智能AI软件推荐,让你的生活更智能!
SEO文案:如何通过巧妙布局提升网站排名,吸引更多流量,娄底网站建设工作文案
文字生成AI:开启创意写作的新纪元
360排名优化价格:打造高效网络营销的制胜法宝,ai换脸刘浩存自wei
SEO场景下的数字营销:如何通过精准优化提升网站流量,陕西融发建设集团网站
ChatGPT不能用了?了解这一背后的真相及解决方法,ai恐怖头像
SEO分类中内部优化的有:让你的网站脱颖而出!,by ai
今时CMS:引领数字化转型的智慧之选,河南seo优化网站联系方式
SEO售产-数字营销新战场,助力企业实现盈利增长,去哪找自贡网站建设
SEO师:如何在数字时代为企业赢得流量与销量,十堰网站关键词优化教程
seo需要学习什么语言,做seo需要懂什么技术 ,ai软件制作教程
ChatGPT启动时遇到问题?快速解决方案让你畅享智能对话体验,ai如何保存logo
GoogleGTP-智能时代的革命性突破,人工智能的新纪元,ai可以降论文ai率吗
专业SEO助力企业在激烈市场竞争中脱颖而出,嘉兴海外网站推广价格
AI提供的阅读书目对学生的专业知识有多大帮助,沃奇ai
SEO要好,网站流量翻倍的关键秘诀,品牌网站建设关键词优化
文字写作AI生成工具:让创作更简单、更高效
打造内容创作新高度:文章扩写AI的革命性优势
摘要AI生成:高效工作的新时代利器
SEO优化如何进行:提升网站排名,轻松超越竞争对手,ai写作怎么操作手机