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

SVG和Javascript代码是否可以保存在单独的文件中,并且仍然可以让脚本操纵SVG元素?,javascript,html,svg,Javascript,Html,Svg,为了保持代码干净,我尝试将脚本代码放在script.js中,将SVG代码放在SVG.SVG中。此外,我在html中包含了这些文件,但javascript根本不运行。是否有某种方法可以实现这一点,或者我必须使用以下方法将javascript嵌入SVG代码中: <script> <![CDATA[ ... // ]]> </script> 我当前的html代码以以下方式包括javascript和svg: <embed src="svg.svg" ty

为了保持代码干净,我尝试将脚本代码放在script.js中,将SVG代码放在SVG.SVG中。此外,我在html中包含了这些文件,但javascript根本不运行。是否有某种方法可以实现这一点,或者我必须使用以下方法将javascript嵌入SVG代码中:

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

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

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


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

  • 脚本开头和结尾的标记
    /]>
    实际上并不需要。脚本可以放在svg标记之外。我认为,在将代码放入标记的情况下,可能需要包含这些标识符

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

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

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

  • 另一个有趣的发现是O Reily关于SVG的书位于: 有时使用一些不能正确运行的旧语法。所以要小心


  • 您可以将javascript代码直接包含在
    标记中。然后是带有
    标记的svg代码。我不太明白你的问题是什么。你的问题似乎与此类似:因此,在我的in-html文件中,我同时包含svg和js文件,但由于某种原因,javascript无法更改svg元素。我继续寻找,发现了这个:但它仍然不适用于那个。我觉得我遗漏了一些声明。你的html是由http服务器提供的吗?还是通过file:protocol加载?请发布html代码的相关部分