从IE 11中的iframe中以字符串形式获取HTML代码

时间:2018-11-02 11:22:42

标签: javascript jquery internet-explorer-11

在我的项目中,我正在加载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(),但我做错了什么?

1 个答案:

答案 0 :(得分:1)

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

解决方案:

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