js访问父窗口

js访问父窗口

使用iframe等技术,来实现页面,这是常见的页面搭建情况。默认情况下,不会跨域,因为父窗口跟子窗口,他们是同源。如果不同源的情况下,使用parent会直接报,不能访问,因为垮域。

解决方式:既然不能访问,就不访问呗。利用try catch捕捉错误。(应该常学会这种模式,使用try捕获不可预知的错误。无法直接判断。)

解决方式一的代码:

try{
    //只要访问到parent这个变量就会报错
    layer = parent.layer === undefined ? layui.layer : top.layer;
}catch{
	layer = layui.layer;
}

其他的解决方式:

比如,直接放弃复杂的判断,直接按捕获后的处理方式来处理。