【发布时间】:2017-02-05 18:31:27
【问题描述】:
我已经为一个简单的问题苦苦挣扎了好几个小时,尽管这里似乎已经描述了它:How to access SVG elements with Javascript
我无法访问加载到嵌入标签中的外部 svg 文件的元素,即使我等待 div 或整个窗口加载(我已经尝试了几个“加载侦听器”)
我已将我的 html 文件简化为这几行以向您展示问题:
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Desperate demo</title>
</head>
<body>
<div id="content">
<embed class="emb" id="maptest" type="image/svg+xml" src="star.svg">
</div>
<script type='text/javascript'>
window.onload = initAll;
function initAll(){
var mySVG = document.getElementById("maptest");
var svgDoc = mySVG.contentDocument;
console.log(svgDoc);
}
</script>
</body>
</html>
基本上,日志在 contentDocument 属性调用时返回“null”或“undefined”,就好像 DOM 中根本没有加载 svg。
你能看到我错过了什么吗?如果我在我的 html 中编写整个 svg 标记而不是调用外部文件,它也不起作用......
【问题讨论】:
标签: javascript html svg