• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

网站的js调用为什么都要放在底部?

网站的js调用为什么都要放在底部?

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与2

其实原因很简单,以webkit为例,当初我在把webkit用的libxml换成expat的时候就发现webkit有个怪癖,当解析到js标签的时候,会把libxml抛出的回调和数据缓存起来,缓存完所有抛出的数据后再去执行js的东西,执行完了再接着拿出缓存,去解析缓存里的东西。这样对于webkit做多线程解析html标签优化是不太友好的,也会增加额外的缓存开销,还会解析着的时候赶紧去排版。排版是很耗时的,还会在执行js的时候显示个不完整甚至白版页面。后来我想明白了,这也是为了让js能在任何时机取到控制权,甚至在解析标签到一半的时候,总会有很少的需求会必须在这种时机拿到控制权吧。

使用道具 举报

js不完全是一定要放在页面底部的
尽量把可以放在底部的js放在底部,
因为加载js的时候会阻塞DOM渲染,
如果大量的js放在头部,用户打开网页时,就会看到一片白色,要等待js加载完成后,才能继续渲染DOM,用户才能看到页面内容。所以为了优化用户体验,一般把可以放在底部的js放在底部。
至于那些不能放在底部的js就不要放在底部:举例,一个网站的头部的元素标签他是由js输出的,那么这个js就不能放在底部,不然的话,你会发现渲染内容完成后,网站头部会慢半拍出现,这个也是不好的用户体验

使用道具 举报

发新帖

发布任务需求已有1031289位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!