<script>

Baseline 广泛可用 *

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

* 此特性的某些部分可能存在不同级别的支持。

<script> SVG 元素允许向 SVG 文档添加脚本。

注意:虽然 SVG 的 script 元素等同于 HTML 的 <script> 元素,但它有一些差异,例如它使用 href 属性而不是 src,并且到目前为止不支持 ECMAScript 模块(有关详细信息,请参阅下面的浏览器兼容性)。

使用语境

分类None
允许内容任何元素或字符数据

属性

crossorigin

此属性定义了为 HTML <script> 元素定义的 CORS 设置值类型[ anonymous | use-credentials ]?默认值?可动画

fetchpriority 实验性 非标准

提供在获取外部脚本时使用的相对优先级的提示。允许的值

high

以相对于其他外部脚本的高优先级获取外部脚本。

low

以相对于其他外部脚本的低优先级获取外部脚本。

auto

不设置获取优先级的偏好。如果未设置值或设置了无效值,则使用此项。这是默认值。

href

要加载的脚本的 URL值类型<URL>默认值可动画

type

此属性定义要使用的脚本语言的类型。值类型<media-type>默认值application/ecmascript可动画

xlink:href 已弃用

要加载的脚本的 URL值类型<URL>默认值可动画

DOM 接口

此元素实现了 SVGScriptElement 接口。

示例

html
Click the circle to change colors.
<svg
  viewBox="0 0 10 10"
  height="120px"
  width="120px"
  xmlns="http://www.w3.org/2000/svg">
  <circle cx="5" cy="5" r="4" />

  <script>
    // <![CDATA[
    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>
</svg>

规范

规范
Scalable Vector Graphics (SVG) 2
# ScriptElement

浏览器兼容性

另见