[英]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.