What if script tag has both "src" and inline script? [duplicate]
I'm used to including and using JS like so:
<script type='text/javascript' src='/path/to/script.js'></script>
....
<script type='text/javascript'>
alert('Do some stuff here, using resources defined in script.js.');
</script>
Just out of curiosity, does anyone know the rule for having an inline script with a src attrib, like:
<script type='text/javascript' src='/path/to/script.js'>
alert('Do some stuff here, using resources defined in script.js.');
</script>
I can test what DOES happen in various browsers, but would like to know what the official behavior is.
Solution 1:
It's either one or the other, not both. The src
attribute of the <script>
tag has precedence over the body of the tag.
HTML 4.01 Specification:
The script may be defined within the contents of the SCRIPT element or in an external file. If the
src
attribute is not set, user agents must interpret the contents of the element as the script. If thesrc
has a URI value, user agents must ignore the element's contents and retrieve the script via the URI.
Solution 2:
The HTML specification states
If the src has a URI value, user agents must ignore the element's contents and retrieve the script via the URI.
Solution 3:
From the HTML 4 standard:
If the src attribute is not set, user agents must interpret the contents of the element as the script. If the src has a URI value, user agents must ignore the element's contents and retrieve the script via the URI.