0
我想要获取gzipped SVG文件的内容并将其附加到HTML并使用d3.js
处理元素。一切正常,SVG文件的所有内容都被解析并使用jquery添加到DOM中,所有浏览器都在SVG内容中渲染样式标签,并将所有样式应用于除Microsoft Edge之外的SVG元素。Microsoft Edge不会在ajax上呈现SVG样式元素调用gzip的SVG文件
通过在浏览器中直接从文件URL(不通过使用ajax调用)加载SVG文件,Microsoft Edge中的一切都很好。但是,试图让使用AJAX,它不渲染样式,并显示黑色元素作为下面的图片内容:
这是通过加载在微软边缘URL中的文件时,它的显示方式:
这是我用来调用该文件的Ajax代码:
var settings = {
"crossDomain": true,
"url": file.svg,
"method": "GET"
};
$.ajax(settings).done(function (response) {
var floorPlanSVG = document.importNode(response.documentElement,true);
$('#appendedFloorPlan').append(floorPlanSVG);
});
,这是怎么了SVG的内容被添加到DOM:
的代码在所有浏览器都很好,除了微软边缘(截图来自谷歌浏览器)。有没有办法解决这个问题?
让我想起https://meta.stackoverflow.com/q/340293/3702797的,我没有在手的边缘,以帮助你出去了,但那些做的人可能会需要一些[MCVE]。至少是** minimal **(即只是'')代码的标记,它重现了这种行为,至多是一个工作小提琴(也许你可以在一些CORS ok服务上存放导入文件,例如dropbox) –
Kaiido