簡體   English   中英

從不同域中的frame / iframe獲取頂部窗口網址

[英]Get top window url from frame/iframe in different domain

我有一個內部有一些javascript的網頁,它將作為iframe嵌入到不同的網站中。 我需要根據運行它的網站調整頁面的行為。 為此,我嘗試從我的頁面讀取top.location.href ,但這引發了一個錯誤:

不安全的JavaScript嘗試使用URL http://mypage.url從具有URL http://website.url的框架訪問框架。 域,協議和端口必須匹配。

有什么方法可以解決這個問題嗎?

在最常見的情況下,您確實可以檢索iframe的父網址。 如果iframe只有一個級別,那么此方法將起作用:

var parentURL = document.referrer

https://developer.mozilla.org/en-US/docs/Web/API/document.referrer

我在創建iframe小部件時使用過這種方法。 請記住,如果您想要頂級窗口位置,但它不是您的iframe的父窗口...您將無法獲得它。 此外,如果您的窗口小部件在iframe中導航,則引薦來源將會更改。

可以在他的博客上找到Nicholas Zakas的另一篇優秀文章: http//www.nczonline.net/blog/2013/04/16/getting-the-url-of-an-iframes-parent/

這是因為您說明了相同的原始政策,並且出於安全原因它已經到位。 在不更改用戶瀏覽器的情況下,無法繞過它。

暫無
暫無

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

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