【发布时间】:2019-03-08 15:33:55
【问题描述】:
我正在尝试通过 javascript 加载 svg。我得到的只是一个空白屏幕,如果我检查它,我会看到代码,但 svg 没有渲染出来。如果将链接粘贴到浏览器中,则可以看到图像。任何帮助表示赞赏。
谢谢
var ajax = new XMLHttpRequest();
ajax.open("GET", "https://edit.meridianapps.com/api/floors/5649391675244544.svg?namespace=4906933713108992_1&hash=8f1c6699ad05ff6ca0ba9414884546b1&style=6711e01fe4271fa2fd1f299eff4296da&default_style=original", true);
ajax.send();
ajax.onload = function(e) {
var div = document.getElementById("svgContainer");
div.innerHTML = ajax.responseText;
}
<div id="svgContainer"></div>
【问题讨论】:
-
您应该使用 Tag for ajax 让我们知道您正在使用 ajax
-
试试这个:
div.innerHTML = ajax.responseText.replace(/ns0:/g,"") -
谢谢,您的解决方案有效@enxaneta。更换的原因是什么?
-
svg 元素中的每个标记都以命名空间
ns0为前缀,虽然这适用于 XML,但这不适用于 HTML。由于ajax.responseText是一个字符串,我从每个标签中删除了命名空间,以便它在 HTML 中工作
标签: javascript html ajax svg