繁体   English   中英

延迟javascript-什么是正确的html语法defer或defer =“ defer”

[英]Defering javascript - what is the correct html syntax defer or defer=“defer”

在JavaScript中使用defer属性的正确语法是什么?

我已经看到它做了两种方式:

1:

<script defer  >...</script>

2:

<script defer="defer">...</script>

从经验[和我找不到的参考]来看,我更倾向于使用第二个选项,但是我只是仔细检查了w3c官方网站 ,看来选项1是正确的。

谢谢

defer布尔属性[HTML 4.01 spec]

一些属性扮演布尔变量的角色(例如, OPTION元素的selected属性)。 它们出现在元素的开始标记中表示该属性的值为“ true”。 如果没有它们,则表示值为“ false”。

[...]

在HTML中,布尔属性可能以最小化形式出现-该属性的值单独出现在元素的开始标记中。 因此,可以通过编写以下命令来设置selected

 <OPTION selected> 

代替:

 <OPTION selected="selected"> 

作者应注意,许多用户代理只能识别布尔属性的最小化形式,而不能识别完整形式。

但是,如果使用XHTML,则必须使用第二种格式,因为XHTML遵循XML语法,其中属性始终必须具有值。

由于您引用了HTML 4.01:

这是一个布尔属性 两种形式都是正确的,但规范建议使用前者


如果您使用的是XHTML,则必须使用更长的版本

HTML 5 还允许同时使用这两种版本,并删除了推荐使用两种版本的建议(由于与XHTML兼容,用作文本/ html,因此所有现代浏览器都可以处理这两种语法)。

每晚HTML 5.1

2.4.2布尔属性

许多属性是布尔属性。 元素上的布尔属性的存在表示真实值,而该属性的缺失表示错误值。

如果存在该属性,则它的值必须是空字符串,或者是该属性的规范名称的ASCII大小写不敏感匹配的值,并且没有前导或尾随空格

所以defer是正确的, defer="defer"defer="DeFeR"defer=""

async和defer属性是布尔属性,指示应如何执行脚本。 如果不存在src属性,则不得指定defer和async属性。

https://www.w3.org/TR/html5/scripting-1.html#attr-script-defer

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM