nar*_*ngi 14 html javascript svg
我有一个SVG文件,我不想将其粘贴到HTML文件中,因为它会变得混乱.因此,在咨询了w3schools之后,"embed"标签似乎是将外部SVG文件包含到HTML中最安全的方式.
<embed src="path_to_svg" type="image/svg+xml" id='svgsource' />
Run Code Online (Sandbox Code Playgroud)
但是,我需要通过主html文件中的javascript通过DOM访问svg元素.不幸的是
document.getElementById('my_svg_id')
Run Code Online (Sandbox Code Playgroud)
也不
document.getElementById('svgsource').contentDocument
Run Code Online (Sandbox Code Playgroud)
适用于任何浏览器.使用"object"标签也不起作用.
关于转弯完成!
事实证明你可以,请看这个链接:http://xn--dahlstrm-t4a.net/svg/html/get-embedded-svg-document-script.html
(另外,对ErikDahlström的其他答案进行投票,给我一些积分,让我劫持他的答案!)
使用.getSVGDocument().这似乎有用<embed>,<object>并且<iframe>:
document.getElementById('svgsource').getSVGDocument()
Run Code Online (Sandbox Code Playgroud)
对于<object>或<iframe>您也可以使用.contentDocument:
document.getElementById('svgsource').contentDocument
Run Code Online (Sandbox Code Playgroud)
对于IE7或IE8,我相信你运气不好.