js之iframe跨域与父页面进行通信(Blocked a frame with origin...)

一、问题

	iframe 这个被嵌套的页面,在打开之前,需要把值传给父页面,本地测试行的通;
到服务端就不行了,报错:Blocked a frame with origin...

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

二、原因

本地项目的 域名、端口号、当前页面的路径或文件名 等,都是一致的,不存在跨域问题。
但是服务端已上线的项目,是由两个项目组合的;
大的项目里面,用 iframe 嵌套了另外一个项目。

导致了跨域不能给父页面传值。

三、解决方法

存在跨域的无效方法:

js之iframe跨域与父页面进行通信(Blocked a frame with origin...)_第1张图片
解决跨域的方法:
1、在 iframe 页面传值
在这里插入图片描述
2、 在父页面接受值

window.addEventListener('flag', function(event){
	if(event.data.falg){
		// code...
	}
})

你可能感兴趣的:(js)