我正在更新一个谷歌登录组件.谷歌文档说要在我的html文件中包含以下内容:

<script src="https://accounts.google.com/gsi/client" async defer></script>

这是doctor Google Doc.

我对asyncdefer属性的理解是它们以不同的顺序加载脚本,因此不能同时应用这两个属性.这里有一篇SO文章供参考SO article.

那么,我是不是误解了什么,或者为什么Google文档告诉我要同时使用这两个标记?

推荐答案

不,它们并不是相互排斥的.

async与 playbook 中的downloading有关.这意味着在下载脚本时不应阻止对HTML的解析.

defer与 playbook 中的execution有关.这意味着在所有的HTML解析完成之前,执行应该是deferred.

所以,async defer意味着:Download the script without blocking the HTML parsing, and run the script after the HTML parsing is done.

Javascript相关问答推荐

从所选的select jQuery中删除多个属性

在JavaScript中逐一播放随机生成的音频文件数组

如何从对象嵌套数组的第二级对象中过滤出键

根据总价格对航班优惠数组进行排序并检索前五个结果- Angular HTTP请求

Google Apps脚本中的discord邀请API响应的日期解析问题

如何解决chrome—extension代码中的错误,它会实时覆盖google—meet的面部图像?'

角色 map 集/spritebook动画,用户输入不停止在键上相位器3

我可以从React中的出口从主布局调用一个处理程序函数吗?

我的服务工作器没有连接到我的Chrome扩展中的内容脚本.我该怎么解决这个问题?

您能在卸载程序(QtInsteller框架)上添加WizardPage吗?

闭包是将值复制到内存的另一个位置吗?

在使用位板时,如何在Java脚本中判断Connect 4板中中柱的对称性?

为什么客户端没有收到来自服务器的响应消息?

无法避免UV:flat的插值:非法使用保留字"

传递方法VS泛型对象VS事件特定对象

每次重新呈现时调用useState initialValue函数

为列表中的项目设置动画

使用RxJS from Event和@ViewChild vs KeyUp事件和RxJS主题更改输入字段值

如何在Java脚本中对数据进行签名,并在PHP中验证签名?

顶点图使用组标签更新列之间的条宽