我想使用deferasync加载以下JavaScript代码:

<script defer async src="/js/somescript.js"></script>

由于Internet Explorer5.5+支持defer,正如您在CanIUse.com中看到的那样,如果异步不可用,我想优雅地退回到使用延期.我认为异步在可用的时候使用更好,但是直到Internet Explorer10才支持它.

因此,我的问题是,上述代码是否有效?如果不是,有没有可能在async不可用的情况下,使用JavaScript优雅地回到在脚本上使用defer来创建这种情况?

推荐答案

规格:https://www.w3.org/TR/2011/WD-html5-20110525/scripting-1.html#attr-script-async

即使指定了异步属性,也可以指定DEFER属性,以使仅支持延迟(而不是异步)的旧式Web浏览器回退到延迟行为,而不是默认的同步阻止行为.

(Check the reference link below to see a visual representation of the differences between normal scripts and scripts with defer and async)


参考资料:

Html相关问答推荐

使用网格时图像溢出容器高度

如何在div中淡入和淡出渐变背景?

在iOS中调整HTML邮箱内容的大小

响应CSS中的两到三列布局

assets资源 净值元素不会扩展到涵盖子项

根据屏幕大小拆分长行列表

如何显示自定义按钮以将产品添加到WooCommerce购物车?

Div 容器不会遵守边距、填充或间隙

在 html 和 css 中绘制表格内的倾斜线

无法在 CSS 中将 h1 标签居中

如何从 div 内的属性中提取 href 和文本

如何将一个边框向下移动

使用flex wrap时,如何设置另一个元素的宽度与换行后的元素对齐?

如何让一个 div 元素粘在另一个元素上?

输入框不是全宽

使用 R 中的 rvest 包获取搜索结果的第一个链接

如何在Bootstrap卡片底部添加波浪形状

如何在 blazor 中单击单个按钮调用 2 个等待任务

为什么将 p 元素的垂直边距设置为 1 px 会出现滚动条?

使用 tailwind css 将 HTML/CSS/JS 站点转换为 React App