耦合异步脚本

大部分我最近的工作一直围绕异步加载外部脚本 。 当脚本加载正常的方式( <script src="..."> )他们阻止所有其他的下载页面下面的脚本被禁止从任何元素渲染。 此可以看出,在将底部的例子的脚本 。 异步加载脚本避免这种阻止行为,导致更快的加载页面。

异步加载脚本的一个问题是处理内嵌脚本使用外部脚本中定义的符号。 如果外部脚本异步加载内嵌代码而不思,竞争条件可能会导致未定义符号错误。 这是必要的,以确保外部异步脚本和内嵌脚本加上在这样一种方式,内联代码不被执行,直到异步脚本完成加载后。

夫妇异步脚本内嵌脚本有几种方法。

  • 窗口的onload -内嵌代码可以绑到窗口的onload事件。 这是非常简单的实现,但内嵌代码将不会被执行,因为它可以早。
  • 脚本的onreadystatechange -内嵌代码可连接到脚本的onreadystatechange和onload事件。 (您需要实现既涵盖所有流行的浏览器。)此代码是更长,更复杂,但确保内嵌代码被称为一旦脚本完成加载。
  • 硬编码回调 -外部脚本可以通过回调函数进行修改,以明确开球内嵌脚本。 这是正常的,如果外部脚本和内嵌脚本由同一个团队正在开发中,但不提供所需的灵活性夫妇第三方内嵌代码的脚本。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值