簡體   English   中英

我可以將DOM節點從iFrame移動到父母的身體嗎?

[英]Can I move a DOM node from an iFrame to parent's body?

目前,我正在嘗試使用以下代碼段移動DOM節點:

var element = document.getElementById('my-id');
parent.window.body.appendChild(element);

上面的代碼在iFrame中呈現,但出現了“ parent.window.body未定義”異常。 這是一項安全功能(因為我實際上確實想退出iframe)?

請注意: 我不想再問“如何移動DOM節點”本身 ,而是要跨iframe的邊界移動它!

是的,您可以在同一來源內 (在Firefox,Chrome,IE8,IE11和Edge上進行了檢查。)請注意,這樣做時,附加到它的所有事件偵聽器都保持附加狀態,這可能會造成混淆。 還要注意,如果將節點追加到其他文檔中,則舊的DOM3規范會導致錯誤,但是較新的WHAT-WG DOM規范沒有提及這樣做(如果您從appendChild開始並遵循,則最終這里 ,沒有列出該異常)。

但是body不是窗口的屬性,而是document的屬性。 還要注意, parent.window是多余的。 所以:

parent.document.body.appendChild(element);
// ----^

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM