在我的项目中,我正在加载iframe,其中需要一些svg代码,这些代码需要以字符串形式输入到脚本中。在Chrome,Firefox,Opera,Safari,Edge,Edge上一切正常,但是IE 11中存在一些问题。
HTML:
<div class="iframe-container">
<iframe id="my-iframe">
...
<svg id="my-svg"></svg>
...
</iframe>
</div>
jQuery
var iframe = $("#my-iframe");
var svg = iframe.contents().find("#my-svg");
var svgText = $(svg[0]).html();
此解决方案在IE 11中不起作用,因为在控制台中我将svgText命名为undefined
,我认为问题出在这里:var svgText = $(svg[0]).html()
,但我做错了什么?
答案 0 :(得分:1)
问题解决了,我不得不使用XMLSerializer
解决方案:
var iframe = $("#my-iframe");
var svg = iframe.contents().find("#my-svg");
var svgText = new XMLSerializer().serializeToString(svg[0]);