Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery:如何完全克隆一个';内容被jQuery修改了吗?_Jquery_Iframe_Clone - Fatal编程技术网

jQuery:如何完全克隆一个';内容被jQuery修改了吗?

jQuery:如何完全克隆一个';内容被jQuery修改了吗?,jquery,iframe,clone,Jquery,Iframe,Clone,好的,这可能很难解释:我有一个iframe,让我们称之为iframe1,从中我运行jQuery对其父对象执行各种操作,因为iframe是这个项目中我可以修改的全部内容。我要做的一件事是向其父级添加一个额外的iframe(iframe2)。iframe2嵌入在iframe1中,我使用jQuery将iframe2克隆到父页面(因此iframe1和iframe2成为同级) 然而,iframe2的源代码有自己的jQuery,它修改了它的内容。问题是,当我克隆iframe2时,它不会在jQuery修改完好

好的,这可能很难解释:我有一个iframe,让我们称之为iframe1,从中我运行jQuery对其父对象执行各种操作,因为iframe是这个项目中我可以修改的全部内容。我要做的一件事是向其父级添加一个额外的iframe(iframe2)。iframe2嵌入在iframe1中,我使用jQuery将iframe2克隆到父页面(因此iframe1和iframe2成为同级)

然而,iframe2的源代码有自己的jQuery,它修改了它的内容。问题是,当我克隆iframe2时,它不会在jQuery修改完好无损的情况下被克隆。我可以在最初的iframe2内容中看到它的jQuery修改是成功的,但是我想象的克隆是在这些修改能够执行之前完成的,因此没有修改就复制了

下面是一些代码:

iframe 1克隆和创建iframe 2

$(window).on('load', function(){
$('#article_menu-iframe').clone().insertBefore(parent.document.querySelectorAll("#stock_menu"));
})

现在我使用克隆方法,因为我也在做一些HTML5 postMessage的东西,而我以前尝试过的方法(我相信是.html而不是.clone来创建iframe 2)导致了一些其他问题。任何帮助都将不胜感激

您可以获得iframe的内容,如下所示:

$('#article_menu-iframe').contents().find("html").html();

从这里,您可以用该值构造一个新的iframe对象(克隆它)

我一辈子都不知道如何在JSFiddle中演示它:PI不认为这会跨域工作吗?克隆的iframe的源位于您看到的另一个域上。在我的示例中,此解决方案似乎无法找到iframe的内容:我看到了。您是否控制这两台服务器?您可以让正在iframe中加载的页面将其内容报告给外部框架(即使它们位于不同的服务器中),您可以编辑这个JSFIDLE尝试来实现上面提到的建议吗?到目前为止,它只返回“null”。谢谢,我只是认为如果可以编辑JSFIDLE使其工作,对我和操作人员来说会更容易。在我上面给我自己的服务器空间的链接中,只涉及一个域。它不使用iframes链接到其他域,而是因为TinyMCE富文本编辑器使用iframes。