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

Run this on IDE

<!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+

Related Links