chrome不支持showModalDialog造成弹窗失败

来源:互联网 发布:吉林11选5数据遗漏 编辑:程序博客网 时间:2024/06/03 14:57

最近在解决一个学院官网后台的兼容性问题。这个网站不是我开发的,我也接触不到代码;技术很老,jQuery+ PHP。由于权限的原因,我不能让读者复现此问题。

具体情形是这样的:一个弹窗功能在IE11上是工作,但是在chorme62上不能工作。

在chrome上的报错信息截图如下:

这里写图片描述

定位showModalDialog这个接口:

这里写图片描述

如果我聪明的话,我应该直接想到:showModalDialog不被支持(没有定义),所以使用的时候会报错。

当然脑子不够清醒,以为这个接口是开发者定义的,想法设法找定义,浪费了很多时间。

其实showModalDialog这个接口是微软在IE4的时候引入的。文档是这么写的:

introduced by Microsoft Internet Explorer 4. Support added to Firefox in Firefox 3 (deprecated in Fx 28), and to Safari in Safari 5.1.

This method was removed completely in Chrome 43, and Firefox 56. See WebKit bug 151885 for possible future removal from Safari.

文档里说从chrome43和FF56之后,这个接口就被废弃了。所以chrome62中不能被使用。

解决方法之一当然是定义兼容性代码,详见:

How can I make window.showmodaldialog work in chrome 37?

阅读全文
1 0