js访问父窗口
js访问父窗口
使用iframe等技术,来实现页面,这是常见的页面搭建情况。默认情况下,不会跨域,因为父窗口跟子窗口,他们是同源。如果不同源的情况下,使用parent会直接报,不能访问,因为垮域。
解决方式:既然不能访问,就不访问呗。利用try catch捕捉错误。(应该常学会这种模式,使用try捕获不可预知的错误。无法直接判断。)
解决方式一的代码:
try{
//只要访问到parent这个变量就会报错
layer = parent.layer === undefined ? layui.layer : top.layer;
}catch{
layer = layui.layer;
}
其他的解决方式:
比如,直接放弃复杂的判断,直接按捕获后的处理方式来处理。