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

前端 未结 4 678
别跟我提以往
别跟我提以往 2020-12-21 03:10

What is the correct syntax for using the defer attribute in your javascript?

I have seen it done two ways:

1:



        
相关标签:
4条回答
  • 2020-12-21 03:18

    The async and defer attributes are boolean attributes that indicate how the script should be executed. The defer and async attributes must not be specified if the src attribute is not present.

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

    0 讨论(0)
  • 2020-12-21 03:35

    Since you reference HTML 4.01:

    This is a Boolean Attribute. Both forms are correct, but the specification recommends the former.


    If you were using XHTML then you would have to use the longer version.

    HTML 5 also allows both versions and removes the recommendation to use one over the other (since for compatibility with XHTML served as text/html, all modern browsers can handle both syntaxes).

    0 讨论(0)
  • 2020-12-21 03:37

    HTML 5.1 nightly

    2.4.2 Boolean attributes

    A number of attributes are boolean attributes. The presence of a boolean attribute on an element represents the true value, and the absence of the attribute represents the false value.

    If the attribute is present, its value must either be the empty string or a value that is an ASCII case-insensitive match for the attribute's canonical name, with no leading or trailing whitespace.

    so defer is right, and so is defer="defer" and defer="DeFeR" and defer=""

    0 讨论(0)
  • 2020-12-21 03:41

    defer is a boolean attribute [HTML 4.01 spec]:

    Some attributes play the role of boolean variables (e.g., the selected attribute for the OPTION element). Their appearance in the start tag of an element implies that the value of the attribute is "true". Their absence implies a value of "false".

    [...]

    In HTML, boolean attributes may appear in minimized form -- the attribute's value appears alone in the element's start tag. Thus, selected may be set by writing:

    <OPTION selected>
    

    instead of:

    <OPTION selected="selected">
    

    Authors should be aware that many user agents only recognize the minimized form of boolean attributes and not the full form.

    However, if you use XHTML, you have to use the second form since XHTML follows XML syntax where attributes always have to have a value.

    0 讨论(0)
提交回复
热议问题