关于异步引入的问题

现在两段代码,具体如下

  • 写法1 :异步引入demo.js
<!DOCTYPE html>
<html>
<head>
<script>
    document.write("<script src='demo.js'  type='text/javascript' " ></script>")
    <!--document.write("<link />") -->
</script>
</head>
<body>
</body>
</html>
  • 写法2: 同步引入demo.js
<!DOCTYPE html>
<html>
<head>
<script src="demo.js"  type="text/javascript"></script>
</head>
<body>
</body>
</html>

写法1在浏览器加载dom解析到““时,默认会开另一个线程去加载js文件。主线程继续解析html文件。这应该是异步加载。

写法2 在传统浏览器加载dom解析到““时,主线程回去加载js文件,等到加载完成时,继续解析html文件。现在的浏览器还是会和上面一样自动开线程去加载,但是这是浏览器自身的预加载,并不会出现bug

在正常情况下,网络状况良好时,写法1并不会有什么问题,还有加快网页的加载速度(现在应该没用了吧)。但是一段网络状况不好,比如网上低于5k时,副线程就会因为抢不到网络资源而被阻塞,这时就会导致页面样式错乱或者事件失效了。

其实这里面还有很多概念 orz

点击查看大佬解析--https://www.cnblogs.com/ziyunfei/p/5881426.html


以上,是我在实习时遇到的一个大坑。前人写的代码,是一个微信公众号,使用场景是医院,医院人多,有时网络差,然后医院提的bug,一开始以为是手机机型问题,头痛。

转载于:https://www.cnblogs.com/duangL/p/11508368.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值