从 IE 11 中的 iframe 获取 html 代码作为字符串

Get html code as string from iframe in IE 11

在我的项目中,我正在加载 iframe,其中有一些 svg 代码,我需要将其作为字符串放入我的脚本中。在 Chrome、Firefox、Opera、Safari、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() 但我做错了什么?

问题解决了,我不得不使用XMLSerializer

解决方案:

var iframe = $("#my-iframe");
var svg = iframe.contents().find("#my-svg");
var svgText = new XMLSerializer().serializeToString(svg[0]);