The SVG script
element allows to add scripts to an SVG document.
While SVG's script
element is equivalent to the HTML <script>
element, it has some discrepancies, like it uses the href
attribute instead of src
and it doesn't support ECMAScript modules so far (See browser compatibility below for details)
html,body,svg { height:100% }
<svg viewBox="0 0 10 10" xmlns="http://www.w3.org/2000/svg"> <script> // <![CDATA[ window.addEventListener('DOMContentLoaded', () => { function getColor () { const R = Math.round(Math.random() * 255).toString(16).padStart(2,'0') const G = Math.round(Math.random() * 255).toString(16).padStart(2,'0') const B = Math.round(Math.random() * 255).toString(16).padStart(2,'0') return `#${R}${G}${B}` } document.querySelector('circle').addEventListener('click', (e) => { e.target.style.fill = getColor() }) }) // ]]> </script> <circle cx="5" cy="5" r="4" /> </svg>
Attributes
crossorigin
- This attribute defines CORS settings as define for the HTML
<script>
element.
Value type: <string>; Default value:?
; Animatable: yes href
- The URL to the script to load.
Value type: <URL> ; Default value: none; Animatable: no type
- This attribute defines type of the script language to use.
Value type: <string>; Default value:application/ecmascript
; Animatable: no xlink:href
Deprecated since SVG 2- The URL to the script to load.
Value type: <URL> ; Default value: none; Animatable: no
Global attributes
- Core Attributes
- Most notably:
id
- Styling Attributes
class
,style
- Event Attributes
- Global event attributes, Document element event attributes
Usage notes
Categories | None |
---|---|
Permitted content | Any elements or character data |
Specifications
Specification | Status | Comment |
---|---|---|
Scalable Vector Graphics (SVG) 2 The definition of '<script>' in that specification. |
Candidate Recommendation | |
Scalable Vector Graphics (SVG) 1.1 (Second Edition) The definition of '<script>' in that specification. |
Recommendation | Initial definition |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
script | Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1.5 | IE Full support 9 | Opera Full support 9 | Safari Full support 3.1 | WebView Android Full support 3 | Chrome Android Full support 18 | Firefox Android Full support 4 | Opera Android Full support Yes | Safari iOS Full support 3.1 | Samsung Internet Android Full support 1.0 |
type | Chrome ? | Edge ? | Firefox ? | IE ? | Opera ? | Safari ? | WebView Android ? | Chrome Android ? | Firefox Android ? | Opera Android ? | Safari iOS ? | Samsung Internet Android ? |
xlink:href | Chrome ? | Edge ? | Firefox ? | IE ? | Opera ? | Safari ? | WebView Android ? | Chrome Android ? | Firefox Android ? | Opera Android ? | Safari iOS ? | Samsung Internet Android ? |
Legend
- Full support
- Full support
- Compatibility unknown
- Compatibility unknown