JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了javascript – 如何深度克隆iframe?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

有没有办法深度克隆iframe?

基本的jQuery克隆只是使用相同的src创建另一个IFrame.我想要实现的是一种克隆iframe的方法,它是精确的当前内容(即任何可能的输入值,通过javascript等任何DOM修改).

var clone = iframe.contents().find('html').clone();

当我克隆HTML属性及其所有子项,修改等时,我遇到了以下问题:

>我错过了DOCTYPE
>如何将其插入新的iFrame?

最佳答案
如果您克隆iframe创建另一个IFrame,那么您将深度克隆您的iframe!它的源位于其他地方,当您分配其src属性时,它将被下载.

测试

想象一下,您有一个打印当前时间的源(非缓存)页面.在页面上放置一个IFrame,等待10秒然后克隆它.新的iframe将下载其内容,第二个iframe将具有不同的内容(时间).

“真正的”深度克隆

编辑:如果您需要深度原始克隆,您可以获取innerHTML并将其注入iframe. Michael Mahemof的解决方案:

// Creates the new iframe,add the iframe where you want
var newframe = document.createElement("iframe");
document.body.appendChild(newframE); 

// We need the iframe document object,different browsers different ways
var frameDocument = newFrame.document;
if (newFrame.contentDocument)
 frameDocument = newFrame.contentDocument;
else if (newFrame.contentWindow)
 frameDocument = newFrame.contentWindow.document;

// We open the document of the empty frame and we write desired content.
// originalHtmlContent is a String where you have the source iframe HTML content.
frameDocument.open();
frameDocument.writeln(originalHtmlContent);
frameDocument.close();

大佬总结

以上是大佬教程为你收集整理的javascript – 如何深度克隆iframe?全部内容,希望文章能够帮你解决javascript – 如何深度克隆iframe?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。