Example
A script that will not run until after the page has loaded:
<script src="demo_defer.js"
defer></script>
Try it Yourself »
Definition and Usage
The defer attribute is a boolean attribute.
When present, it specifies that the script is executed when the page has finished parsing.
Note: The defer attribute is only for external scripts (should only be used if the src attribute is present).
Note: There are several ways an external script can be executed:
- If async is present: The script is executed asynchronously with the rest of the page (the script will be executed while the page continues the parsing)
- If async is not present and defer is present: The script is executed when the page has finished parsing
- If neither async or defer is present: The script is fetched and executed immediately, before the browser continues parsing the page
Browser Support
The numbers in the table specify the first browser version that fully supports the attribute.
Attribute | |||||
---|---|---|---|---|---|
defer | Yes | 10.0 | 3.6 | Yes | 15.0 |
Differences Between HTML 4.01 and HTML5
NONE.
Differences Between HTML and XHTML
In XHTML, attribute minimization is forbidden, and the defer attribute must be defined as <script defer="defer">.
Syntax
<script defer>