记录一下
最近在维护一个项目,使用IE一切正常,但是切谷歌的话 正常登陆都不行了。
检查了一下 发现报错。

后来查了一下 发现 window.showModalDialog 方法在很久以前就被弃用了!!!
前期解决方案:用window.open来替代。(有bug 别用!!!)
// 定义一个全局变量判定是否原生支持showModalDialog方法
var has_showModalDialog = !!window.showModalDialog;
if(!has_showModalDialog){
//定义window.showModalDialog如果它不存在
if(window.showModalDialog == undefined){
window.showModalDialog = window.open(url, "_blank",
"width="+screen.availWidth+",height="+screen.availHeight+",scroll=0");
}
}
把上面这段代码直接加到使用window.showModalDialog之前就好了。
上面这个用后会出现一个问题:由于原有页面未关闭,当从子页面返回后会报错,需刷新后可用。
后期解决方案:用js判断当前使用的浏览器是不是IE (无bug可用!!!)

在维护项目时遇到IE与Chrome浏览器兼容性问题,window.showModalDialog在Chrome已被弃用。初期尝试用window.open替代,但存在bug。最终通过JS判断浏览器类型,实现无bug的解决方案,避免了窗口返回后的错误,同时解决了window.open打开子页面时头部地址栏无法隐藏的问题。

1万+

被折叠的 条评论
为什么被折叠?



