簡體   English   中英

JavaScript:從iframe關閉窗口

[英]JavaScript: closing window from iframe

我有一個從站點S1加載的頁面P1,其中包含iframe。 該iframe從另一個站點S2加載頁面P2。 在某個時候,P2想要關閉瀏覽器窗口,其中包含從S1加載的P1。 當然,由於P2是從另一個站點加載的,因此不能僅執行parent.close()。

我可以完全控制P1和P2,因此可以根據需要將JavaScript代碼添加到P1和P2中。 有關如何解決此問題的建議?

恐怕這是不可能的。 由於安全問題,嚴格禁止將iframe中的JavaScript加載到另一個網站上,然后再將其呈現在另一個網站上。

但是,如果將iframe指向同一個網站,則可以使用以下方法:

<iframe name = "frame1" src = "http://yoursite">
</iframe>

<script type = "text/javascript">
    alert(window.frames["frame1"].document);
</script>

如果它們源自同一域,則可以修改安全限制,以允許在子域之間進行修改。

設置document.domain =“ domain.com”; //在兩個頁面上,都可以互相修改。

僅將它們設置為偽域名,沒有嘗試過,或者只是簡單地使用“ .com”或類似內容,可能會起作用。

看來這個家伙在iframe之間使用了跨域JavaScript。

您可以使用Flash來執行此操作。 將用戶發送到您使用_top目標用URLRequest控制的新頂層頁面,並使該頁面包含執行window.close()的javascript。

暫無
暫無

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

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