模态窗口showModalDialog的浏览器兼容解决方案
博主遇到一个项目,拿以前的项目来改的,它所用框架的版本官方已经停止维护很多年了,而且以前项目遗留的代码那是“一言难尽”啊。
用chrome调试的时候,点击一个按钮毫无反应,控制台提示showModalDialog不存在。网上查了下,在MDN Web文档找到了温馨提示:
已废弃
该特性已经从 Web 标准中删除,虽然一些浏览器目前仍然支持它,但也许会在未来的某个时间停止支持,请尽量不要使用该特性。
- “改是不可能改的,这辈子不可能改的” — 窃·格瓦拉
在博主看来,这种老爷车还是不要大修的好,于是自己动手进行兼容,如下借助window.open对它的行为进行模拟。
/*** showModalDialog兼容处理* 该特性已从Web标准中删除* @author 范围兄 */
if(!window.showModalDialog){window.showModalDialog = function(uri, args, opts){opts = opts.replace(/:/g, '=').replace(/;/g, ',').replace('dialogWidth', 'width').replace('dialogHeight', 'height').replace('dialogtop', 'top').replace('dialogleft', 'left').replace('scroll', 'scrollbars');window.open(uri, '', opts).dialogArguments = args;};
}
模态窗口showModalDialog的浏览器兼容解决方案相关推荐
- 关于模态窗口(showModalDialog)的专题【收藏】
关于模态窗口(showModalDialog)的专题[收藏] 转自:http://www.cnblogs.com/donnet/articles/1039509.html 1.模态窗口的打开,mode ...
- 来个模态kuang_关于模态窗口(showModalDialog)的专题【收藏】
转自:http://www.cnblogs.com/donnet/articles/1039509.html 1.模态窗口的打开,model window open 2.模态窗口的关闭,model w ...
- JS打开模态窗口showModalDialog
"人人尽说江南好,游人只合江南老" 今天在使用谷歌浏览器通过JS打开模态窗口时,出现如下错误: Uncaught TypeError: window.showModalDialog ...
- 模态窗口 showModalDialog 浏览器兼容解决方案
无意中遇到一个老项目,遇到showModalDialog在谷歌火狐浏览器失效的问题,查了一下官方文档,发现已经废弃. 电脑端 移动端 Chrome Edge Firefox Internet ...
- 将时间格式的字符串转换成日期类型浏览器兼容解决方案
var currentTime = "20120612"; var y = currentTime.substring(0, 4); var m = currentTime.sub ...
- showModalDialog模态对话框的使用以及浏览器兼容
ModalDialog 是什么? showModalDialog 是js window对象的一个方法, 和window.open一样都是打开一个新的页面. 区别是: showModalDialog打开 ...
- showModalDialog模态对话框的使用详解以及浏览器兼容
showModalDialog是jswindow对象的一个方法,和window.open一样都是打开一个新的页面.区别是:showModalDialog打开子窗口后,父窗口就不能获取焦点了(也就是无法 ...
- Java中modal dialog,showModalDialog模态对话框的使用详解以及浏览器兼容
1.ModalDialog是什么?showModalDialog是jswindow对象的一个方法,和window.open一样都是打开一个新的页面. 区别是:showModalDialog打开子窗口后 ...
- 前台技术--window.showModalDialog带来的浏览器兼容问题
双击域的实现:http://blog.csdn.net/gaopeng0071/article/details/21179619, 继此篇博文,讲述的双击域实现,在后续发现使用window.showM ...
最新文章
- 【eclipse】eclipse使用常见问题(持续更新)
- 新手探索NLP(二)
- ThinkPad L440 FN键设置
- [转]另一个SqlParameterCollection 中已包含 SqlParameter[解决方案]
- 太吾绘卷存档修改2020_太吾绘卷/神级初始存档
- 关于DNS区域查询,DNS字典爆破,以及查询文件问题
- vMware安装Ghost操作系统
- 修改Header方法
- Shell字符串操作集合
- shell 清楚空格_Cygwin系列(五):Shell命令行初体验
- SpringBoot2 Spring Cloud consul 分布式配置中心使用教程
- Freertos消息队列接收源码xQueueGenericReceive分析
- MHA Failover测试-上
- 安卓手机管理软件_留言帮忙找:手机清理软件合集 Android
- splice、slice详解
- 20180823-cve
- 关于征集全国信标委人工智能分委会知识图谱工作组成员单位的通知
- iPhone 在xcode4.2中手工添加GPX文件,指定位置
- Boost -----无法打开文件“libboost_thread-vc120-mt-gd-x32-1_73.lib
- 也说linux使用squid和squidGuard配置代理服务器