Description
The HTML element <script>
is used to embed or reference an executable client-side script, like JavaScript within an HTML document.
- It can contain a series of scripting statements, which we call internal scripts.
- It can point or refer to an external script file using its
src
attribute.
It can appear any number of times within the <head> and <body> elements.
Scripts make a web page dynamic and interactive to the actions performed by users.
The below table summarizes its usage.
Usage Details | |
Placement | It can be included anywhere within <head> and <body> elements. |
Contents | It can contain text. |
Tags | Both the opening and closing tags are required. |
Versions | HTML 4, 4.01, 5 |
Syntax
Here is the basic syntax of the <script>
element.
<script>...</script>
Examples
<!DOCTYPE html>
<html lang="en">
<head>
<title>Example - HTML Element script</title>
</head>
<body>
<script>
document.write("Hello World!");
</script>
</body>
</html>
Attributes
The following table shows the list of supported and unsupported attributes for the <script>
element.
Attribute Type | Details |
Element-Specific Attributes | The tag <script> has some element-specific attributes listed in the below table. |
Global Attributes | Like all other HTML tags, the tag <script> supports the HTML Global Attributes. |
Event Attributes | The tag <script> also supports the HTML Event Attributes. |
Here is a list of attributes that are specific to the <script>
element.
Attribute | Value | Required | Description |
async |
async |
No | Boolean attribute that specifies whether the script should be executed asynchronously, as soon as it becomes available. Applicable only for external scripts, it has no effect on inline scripts. |
type |
content-type | No | Specifies the scripting language. The most common scripting language is JavaScript, which needs the value text/javascript . |
charset |
charset | No | Specifies the character encoding of the external script file. This attribute must not be specified if the src attribute is not present. |
defer |
defer |
No | Boolean attribute that specifies whether the script should be executed after the document has been parsed. This attribute shouldn't be used on scripts that don't have the src attribute. |
src |
URL | No | Specifies the location of an external script file. |
xml:space |
preserve |
No | Obsolete Specifies whether whitespace should be preserved within the script element. |
Browser Compatibility
The tag <script>
is supported in all modern browsers.
- Google Chrome 1+
- Internet Explorer or Edge 3+
- Firefox 1+
- Apple Safari 1+
- Opera 4+