弹出界面时,有时会出现空白界面,应该如何处理?
1 尝试解决方式:在open方法的success回调方法中,获取当前iframe高度,重新赋予新的高度;
let ifr = layero.find('iframe')[0];
let bHeight = ifr.style.height;
let bHeightNum = parseInt(bHeight);
bHeightNum++;
$(ifr).css('height', bHeightNum + 'px');
2 上面方案执行之后,仍然存在弹出空白界面问题,苦思问题,偶然发现,当长时间不切换界面时,点击页面弹出,有如下提示:
Uncaught DOMException: Blocked a frame with origin “*” from accessing a cross-origin ……
iframe跨域问题
3 进行步骤2操作之后,发现如果长时间停留在一个界面,再从这个界面打开某个界面时,会出现空白界面,原因是(微信公众号进行过网页授权)
https://open.weixin.qq.com/connect/oauth2/authorize?appid=&redirect_uri=&response_type=code&scope=snsapi_userinfo&state=STATE
进行授权后无进一步操作造成,至于如何修改,暂时没有方法
https://open.weixin.qq.com/connect/oauth2/authorize?appid=&redirect_uri=&response_type=code&scope=snsapi_userinfo&state=STATE&connect_redirect=1
4 经过一些猜测,会不会是access_token过期,造成界面重定向,决定实验一下
在页面跳转之前,先获取授权获取的access_token,如果过期,则使用refresh_token进行获取,结果access_token还未过期,就弹出了空白页;
5 今天突然想到,session是有保存时间的,如果将session的保存时间设置的长一些,是否可以避免出现这个问题
想到就去做,于是增加了时长设置,发现的确没有出现空白页,继续测试……