JQuery的 - 如何追加对象在基于WebKit的浏览器(铬/ Safari浏览器)设置为iFra

2019-07-05 11:51发布

我有这样的代码:

  <script type="text/javascript">
    $(document).ready(function() {
        $("#iframeId").contents().find("body").append($("#test"));
    });
  </script>
  <iframe id="iframeId" name="iframeId" src="about:blank" ></iframe>
  <div id="test">
     Text
  </div>

我需要整个对象追加到IFRAME(不仅是HTML())。 它运作良好,在IE,Firefox和Opera,但我不能让它去在Chrome / Safari浏览器。 是否有任何黑客或其他方式,如何把HTML对象放入iframe中,使用WebKit的工作?

编辑

我不能克隆对象(或使用其内部HTML),因为我需要用文件输入使用它,我无法将其复制由于安全限制。

Answer 1:

outerHTML 。 这个例子正常工作:

jQuery.fn.outerHTML = function() {
    return $('<div>').append( this.eq(0).clone() ).html();
};

$("#iframeId").contents().find("body").html($("#test").outerHTML());
$("#test").remove();

- 编辑

  <script type="text/javascript">
    $(document).ready(function() {
     $("#iframeId").contents().find("body").html($("<div></div>").append($("#test")).html());
    });
  </script>
  <iframe id="iframeId" name="iframeId" src="about:blank" ></iframe>
  <div id="test">
     Text
  </div>

- 编辑II

$("#iframeLast").contents().find("body").append($("<form></form>").append($("#inputLast")));


文章来源: JQuery - how to append object to iframe in WebKit based browsers (chrome/safari)?