SVG和Javascript代码是否可以保存在单独的文件中,并且仍然让脚本操作SVG元素

Can SVG and Javascript code be kept in seperate files and still have the script manipulate the SVG elements?

本文关键字:SVG 元素 操作 脚本 是否 代码 Javascript 单独 存在 保存 文件      更新时间:2023-09-26

为了保持代码的整洁,我试图将脚本代码放在script.js中,将SVG代码放在SVG.SVG中。此外,我还在html中包含了这些文件,但javascript根本不运行。有什么方法可以实现这一点吗?或者我必须使用将javascript嵌入SVG代码中吗

<script>
<![CDATA[
 ...
// ]]>
</script>

我当前的html代码包括以下方式的javascript和svg:

<embed src="svg.svg" type="svg+xml"></embed>

<script type="text/javascript" xlink:href="script.js"></script>  

所以我通过反复试验学到了一些东西。虽然我相信大多数人可能已经知道这一点,但我正在自学,这对我来说是一个巨大的认识。由于某些原因,文档并不像人们预期的那样全面。

  1. 在脚本的开始和结束// ]]>处的标记<![CDATA[实际上不是必需的。脚本可以放置在svg标记之外。我相信,如果您在标签中放置代码,您可能需要包含这些标识符。

  2. svg文件可以通过以下方式包含js文件:

    <script type="text/javascript" xlink:href="script.js"></script>

  3. 和往常一样,svg中的元素可以很容易地被id引用。只需给出一个id,然后使用document.getElementById()

  4. 另一个有趣的发现是O Reily关于SVG的书位于:http://commons.oreilly.com/wiki/index.php/SVG_Essentials有时使用一些运行不正确的旧语法。所以要小心。