我有一个几乎完全由脚本组成的svg文件。我想将脚本分离出来,以便可以通过压缩器运行它,但是我找不到解决方法。任何帮助表示感谢。
svg文件如下所示:
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg id="chart"
xmlns="http://www.w3.org/2000/svg"
onload="init(evt)" >
<script type="application/ecmascript">
<![CDATA[
...lots of code
//]]>
</script>
</svg>
我所做的是将很多代码提取为lotsOfCode.js,并将svg文件更改为:
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg id="chart"
xmlns="http://www.w3.org/2000/svg"
onload="init(evt)" >
<script type="application/ecmascript" src="lotsOfCode.js">
</script>
</svg>
但是,这不起作用。浏览器抱怨无法找到onload的“ init”函数。有任何想法吗?我是否需要做一些事情来告诉浏览器“ inits”在“ lotsOfCode.js”中?
谢谢 -
铝
最佳答案
尝试使用xlink:href
代替src
:
<script type="text/ecmascript" xlink:href="lotsOfCode.js"></script>
编辑:您还需要引用
xlink
命名空间:<svg id="chart"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
onload="init(evt)" >