2012-12-31 36 views
0

好吧,這可能是棘手的解釋:我有一個iframe,我們稱之爲iframe 1,從中我運行jQuery來爲其父項執行各種事情,因爲iframe是我可以爲此項目修改的所有內容。我做的其中一件事就是爲其父項添加一個額外的iframe(iframe 2)。 iframe 2嵌入在iframe 1中,我使用jQuery將iframe 2克隆到父頁面(因此iframe 1和2成爲兄弟)。jQuery:如何完全克隆'內容被jQuery修改過的iframe?

但是,iframe 2的源代碼擁有自己的jQuery,它修改了它的內容。問題是,當我克隆iframe 2時,它的jQuery修改不會被克隆。我可以在原始的iframe 2內容中看到它的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)導致了一些其他問題。任何幫助,將不勝感激!

回答

0

你可以得到一個iframe的內容是這樣的:

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

從這裏你可以建立一個新的iframe對象與值(克隆它)

+0

我不能爲我的生活弄清楚如何在JSFiddle中演示這一點:P –

+0

我不認爲這將跨域工作?被克隆的iframe的來源位於您看到的另一個域中。 – Marc

+0

此解決方案似乎無法在我的示例中找到IFRAME的內容:http://cmzmedia.com/tinymce/examples/simple2.html –