js 获取 SVGDocument 问题。
我要实现一个不改变页面以及svg文件的前提下,通过js动态加载svg,动态为svg添加事件,重构右键菜单等功能。
环境是IE+SvgViewer。
我的思路是在页面onload时给页面的某个层里动态添加一个<embed id="NavigateControl" name="svg" type="image/svg+xml" src="11.svg" width="100%" height="100%" >标签,然后操作svg文件,所有操作都是在页面onload时进行的。
然后问题就出来了
try { CurveControl = document.getElementById('NavigateControl'); //NavigateControl就是embed标签的id if(CurveControl==null) return; svgDoc = CurveControl.getSVGDocument(); //到这里就会出错了,提示没有当前方法。 //得到了svgDoc之后我就可以对svg操作了。 } catch(e) { alert(e); }
<html><head><title>By Mr.Ms</title></head><body onload="load();"> //onload获取svgDoc,操作svg <div id="mainDiv"></div></body><script type="text/javascript">//这里调用动态添加embed的方法</script></html>