iframe跨域獲取的父頁面URL

2021-10-07 20:48:31 字數 721 閱讀 1555

當iframe與父頁面不屬於同乙個網域名稱時,像上面的獲取會因為安全策略原因而失敗。在nczonline的一篇文章上看到一種方法,使用document.referrer。

方法很簡單,通過parent !=window檢測iframe與父頁面是否同源,當不同源時,使用document.referrer,否則使用parent.location.href或者top.location.href;

var

getparenturl

=function()

catch(e

)}return url;

}

當iframe是被動態建立的時候,以上方式依然有效。

父子頁面傳遞資料如下:

子頁面:

top.

postmessage

(json

.stringify

(data ||'')

,getparenturl()

)

父頁面:

window.

addeventlistener

('message'

,function

(event)},

false

);

父頁面需要先監聽子頁面內容,判斷一下是否從需要的域中返回的資料.

iframe跨域獲取的父頁面URL

這2天主要處理乙個子頁面與父頁面跨域互動問題,子頁面需要獲取父頁面的url來傳遞資料,取不到,查資料得知,故整理一波.當iframe與父頁面不屬於同乙個網域名稱時,像上面的獲取會因為安全策略原因而失敗。在nczonline的一篇文章上看到一種方法,使用document.referrer。方法很簡單,...

跨域下使用獲取iframe的父頁面URL

通常情況下,我們獲取iframe父頁面的url很簡單 parent.location或top.location即可,但前提是它們遵循同源策略。當iframe與父頁面不屬於同乙個網域名稱時,像上面的獲取會因為安全策略原因而失敗。在nczonline的一篇文章上看到一種方法,使用document.ref...

跨域下使用獲取iframe的父頁面URL

通常情況下,我們獲取iframe父頁面的url很簡單 parent.location或top.location即可,但前提是它們遵循同源策略。當iframe與父頁面不屬於同乙個網域名稱時,像上面的獲取會因為安全策略原因而失敗。在nczonline的一篇文章上看到一種方法,使用document.ref...