js的引入与优化
2016-04-23 00:00
393 查看
摘要: js引入位置会对访问有所影响
1、下图是《javascript高级程序设计》书中提到的,将js外引放到body的最后。
这样解析DOM不会有停顿感觉。但是建议将js放在body标签外和</html>之前;
2、启用延迟属性defer(defer="defer")。
这个属性的用途是表明脚本在执行时不会影响页面的构造。也就是说,脚本会被延迟到整个页面都解析完毕后再运行。因此,在<script>元素中设置defer 属性,相当于告诉浏览器立即下载,但延迟执行。。在现实当中,延迟脚本并不一定会按照顺序执行,也不一定会在DOMContentLoaded 事件触发前执行,因此最好只包含一个延迟脚本。
请注意,defer属性只适用于外引的js文件。并且在HTML5中,defer属性是默认的,可以不写。
3、使用async(异步脚本,async=“async”)属性。
使用async 属性可以表示当前脚本不必等待其他脚本,也不必阻塞文档呈现。不能保证异步脚本按照它们在页面中出现的顺序执行,第二个脚本文件可能会在第一个脚本文件之前执行。因此,确保两者之间互不依赖非常重要。指定async 属性的目的是不让页面等待两个脚本下载和执行,从而异步加载页面其他内容。为此,建议异步脚本不要在加载期间修改DOM。
1、下图是《javascript高级程序设计》书中提到的,将js外引放到body的最后。
这样解析DOM不会有停顿感觉。但是建议将js放在body标签外和</html>之前;
<!DOCTYPE html> <html> <head> <title>Example HTML Page</title> </head> <body> <!-- 这里放内容 --> <script type="text/javascript" src="example1.js"></script> <script type="text/javascript" src="example2.js"></script> </body> </html>
2、启用延迟属性defer(defer="defer")。
这个属性的用途是表明脚本在执行时不会影响页面的构造。也就是说,脚本会被延迟到整个页面都解析完毕后再运行。因此,在<script>元素中设置defer 属性,相当于告诉浏览器立即下载,但延迟执行。。在现实当中,延迟脚本并不一定会按照顺序执行,也不一定会在DOMContentLoaded 事件触发前执行,因此最好只包含一个延迟脚本。
请注意,defer属性只适用于外引的js文件。并且在HTML5中,defer属性是默认的,可以不写。
3、使用async(异步脚本,async=“async”)属性。
使用async 属性可以表示当前脚本不必等待其他脚本,也不必阻塞文档呈现。不能保证异步脚本按照它们在页面中出现的顺序执行,第二个脚本文件可能会在第一个脚本文件之前执行。因此,确保两者之间互不依赖非常重要。指定async 属性的目的是不让页面等待两个脚本下载和执行,从而异步加载页面其他内容。为此,建议异步脚本不要在加载期间修改DOM。
<!DOCTYPE html> <html> <head> <title>Example HTML Page</title> <script type="text/javascript" async src="example1.js"></script> <script type="text/javascript" async src="example2.js"></script> </head> <body> <!-- 这里放内容 --> </body> </html>
相关文章推荐
- SEO
- seo标题标签分析
- SEO搜索引擎优化常用密度查询网址集合
- 容易引起沙盒效应的SEO细节[站长必看]
- 什么样的文章长度有利于SEO
- 站长必备:网站SEO辅助查询工具软
- seo教程seobook中文pdf版提供下载
- SEO优化之URL优化
- 令人吃惊的SEO实验-拼音网站实验
- php实现专业获取网站SEO信息类实例
- 黑帽seo劫持程序,js劫持搜索引擎代码
- 网站打开速度标准及测试
- 在Yii中重写URL(高级版)
- 搜索引擎链接分析中的链接优化
- 百度:多域名同内容的常见问题
- 非常牛逼的十句SEO语录
- SEO实战案例分享:广场舞教学网
- SEO 到底有多大?数字告诉你
- Google 站长设计与内容指南比较
- 对国内SEO现状的一点思考