簡體   English   中英

有沒有辦法將iframe中的javascript代碼注入父窗口?

[英]Is there a way to inject javascript code from an iframe into the parent window?

有沒有辦法使用JavaScript將iframe中的javascript注入其父窗口? iframe和父級都在同一個域中。

由於其他原因,在檢測到iframe中的更改后,我不能簡單地從父窗口執行操作。

例:

<div id="bar"> Hello World </div>
<iframe srcdoc="
    <html>
        <body>
            <script type="text/javascript">
                // change "bar"'s style or alter its content
            </script>
        </body>
    </html>
"></iframe>

您需要做的就是在iframe使用全局parent變量,方法是直接使用window.parentparent

例:

<div id="bar"> Hello World </div>
<iframe srcdoc="<html>
    <body>
        <script>
            window.parent.document.getElementById('bar').style.background = 'red';
        </script>
    </body>
</html>"></iframe>

只要iframe滿足“ 同源策略” ,此方法就可以工作。

是的,只要它們在同一個域中即可。 在堆棧溢出之前已經問過這個問題請參見此線程

簡而言之(來自鏈接線程)

document.getElementById('someDiv').innerHTML = 
  top.document.getElementById('otherIframe').contentWindow.
  document.getElementById('someOtherDiv').innerHTML;

暫無
暫無

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

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