HTML页面中插入Javascript的主要方法
网页制作的时候,经常用 HTML 的 JavaScript 给页面加点料。大家都很熟悉的标签就可以,像挤牙膏那样把复杂的代码塞进去,瞬间就能让浏览器变得五彩斑斓,出现好多好玩儿的动态效果!效果棒极了!
defer属性的作用
只要我们给标签加上defer属性,那这个脚本就要等到咱们看完网页之后再启动!这样一来,其他内容就能趁着大家等脚本加载的时间愉快地继续游览。而且HTML5还明确规定,带defer属性的脚本会按页面出现的顺序跑,大大提升了稳定性与可靠性呐!
就算迟滞的脚本能速度飞快地跑起来,DOMContentLoaded事件前开动也是常有的事儿。这时候我们就要利用这个叫deferred的东西了,尤其是对于那些必须先搞定才愿意行动的js代码来说,这样的效果简直是给力到不行。
async属性的特点
简单来讲,给标签里加个async,网页上的脚本就能马上动起来,而且不会影响其他部分。这样就可以让脚本能慢慢悠悠地加载出来~
记住啦同学们,async属性不保证我们的脚本能按照顺序跑起来。只要用这个特性,就要把那些异步小script分开放好,不要弄乱它们的位置,否则会有麻烦在同步加载脚本时,记得不要随意乱动DOM结构,小心失误!
异步加载与同步加载
defer跟async到底是啥鬼?咱来聊聊,这儿加载脚本文件时,哪种运行起来更快?如果选defer,那脚本头发挥得按照排练的节奏来;可是如果选async,那就是自由身,想咋跑就咋跑~
开发的时候到底怎么引入外部JS文件,这个,得看你具体需求。要是你想要控制脚本的执行顺序,又要保证页面其他地方的加载速度,那就用defer功能呗;如果你对脚本顺序没什么特别要求,只求它们能尽快运行,那就试一下async好了!
浏览器对defer和async支持情况
你造吗?火狐、Safari和Chrome这种浏览器现在就能听懂amos这词,然后准确地载入并执行对应的代码。而说到defer这个属性的话,不仅可以在IE9及以上的浏览器上使用,现在新出的浏览器也都支持!
JavaScript代码,有时候真是让人头大得像烫手山芋。但是选择什么方式引入才好?那就要视情况而定了。如果你能学会巧妙地使用defer和Async,网页加载速度就能瞬间飙升,用户用起来会更爽快,而且出错的机会也少很多。
评论0