我从后端获得一个svg(当然使用ajax):
<svg width="100%" height="100%" viewBox="0.00 0.00 216.00 153.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="viewport" class="graph" transform="scale(1 1) rotate(0) translate(4 149)">
...
...
<script xlink:href="/js/lib/SVGPan.js"></script>
</svg>
我把它附加到一个空div:
$('#svg').append(result);
但是没有请求SVGPan.js文件。你能解释一下这背后的机制以及我可以做些什么来强制SVGPan.js文件的网络请求吗?
由于
答案 0 :(得分:0)
我也在寻找同一个问题的答案。现在我知道这个: 当您使用带有script-xlink的内联svg打开html的静态svg时,脚本将下载并运行。当您通过jquery使用script-xlink追加svg时,脚本不会加载。
我没有解决方案,只有workaroud:将整个脚本放在<script><![CDATA[ ... ]]></script>
内的<svg>
标记内,然后即使你通过jquery追加svg元素它也能工作。