js之iframe跨域與父頁面進行通信(Blocked a frame with origin...)

一、問題

	iframe 這個被嵌套的頁面,在打開之前,需要把值傳給父頁面,本地測試行的通;
到服務端就不行了,報錯:Blocked a frame with origin...

咦,原來 iframe 也存在跨域啊。

二、原因

本地項目的 域名、端口號、當前頁面的路徑或文件名 等,都是一致的,不存在跨域問題。
但是服務端已上線的項目,是由兩個項目組合的;
大的項目裏面,用 iframe 嵌套了另外一個項目。

導致了跨域不能給父頁面傳值。

三、解決方法

存在跨域的無效方法:

在這裏插入圖片描述
解決跨域的方法:
1、在 iframe 頁面傳值
在這裏插入圖片描述
2、 在父頁面接受值

window.addEventListener('flag', function(event){
	if(event.data.falg){
		// code...
	}
})
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章