博主遇到一个项目,拿以前的项目来改的,它所用框架的版本官方已经停止维护很多年了,而且以前项目遗留的代码那是“一言难尽”啊。
用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的浏览器兼容解决方案相关推荐

  1. 关于模态窗口(showModalDialog)的专题【收藏】

    关于模态窗口(showModalDialog)的专题[收藏] 转自:http://www.cnblogs.com/donnet/articles/1039509.html 1.模态窗口的打开,mode ...

  2. 来个模态kuang_关于模态窗口(showModalDialog)的专题【收藏】

    转自:http://www.cnblogs.com/donnet/articles/1039509.html 1.模态窗口的打开,model window open 2.模态窗口的关闭,model w ...

  3. JS打开模态窗口showModalDialog

    "人人尽说江南好,游人只合江南老" 今天在使用谷歌浏览器通过JS打开模态窗口时,出现如下错误: Uncaught TypeError: window.showModalDialog ...

  4. 模态窗口 showModalDialog 浏览器兼容解决方案

    无意中遇到一个老项目,遇到showModalDialog在谷歌火狐浏览器失效的问题,查了一下官方文档,发现已经废弃.   电脑端 移动端   Chrome Edge Firefox Internet ...

  5. 将时间格式的字符串转换成日期类型浏览器兼容解决方案

    var currentTime = "20120612"; var y = currentTime.substring(0, 4); var m = currentTime.sub ...

  6. showModalDialog模态对话框的使用以及浏览器兼容

    ModalDialog 是什么? showModalDialog 是js window对象的一个方法, 和window.open一样都是打开一个新的页面. 区别是: showModalDialog打开 ...

  7. showModalDialog模态对话框的使用详解以及浏览器兼容

    showModalDialog是jswindow对象的一个方法,和window.open一样都是打开一个新的页面.区别是:showModalDialog打开子窗口后,父窗口就不能获取焦点了(也就是无法 ...

  8. Java中modal dialog,showModalDialog模态对话框的使用详解以及浏览器兼容

    1.ModalDialog是什么?showModalDialog是jswindow对象的一个方法,和window.open一样都是打开一个新的页面. 区别是:showModalDialog打开子窗口后 ...

  9. 前台技术--window.showModalDialog带来的浏览器兼容问题

    双击域的实现:http://blog.csdn.net/gaopeng0071/article/details/21179619, 继此篇博文,讲述的双击域实现,在后续发现使用window.showM ...

最新文章

  1. 【eclipse】eclipse使用常见问题(持续更新)
  2. 新手探索NLP(二)
  3. ThinkPad L440 FN键设置
  4. [转]另一个SqlParameterCollection 中已包含 SqlParameter[解决方案]
  5. 太吾绘卷存档修改2020_太吾绘卷/神级初始存档
  6. 关于DNS区域查询,DNS字典爆破,以及查询文件问题
  7. vMware安装Ghost操作系统
  8. 修改Header方法
  9. Shell字符串操作集合
  10. shell 清楚空格_Cygwin系列(五):Shell命令行初体验
  11. SpringBoot2 Spring Cloud consul 分布式配置中心使用教程
  12. Freertos消息队列接收源码xQueueGenericReceive分析
  13. MHA Failover测试-上
  14. 安卓手机管理软件_留言帮忙找:手机清理软件合集 Android
  15. splice、slice详解
  16. 20180823-cve
  17. 关于征集全国信标委人工智能分委会知识图谱工作组成员单位的通知
  18. iPhone 在xcode4.2中手工添加GPX文件,指定位置
  19. Boost -----无法打开文件“libboost_thread-vc120-mt-gd-x32-1_73.lib
  20. 也说linux使用squid和squidGuard配置代理服务器

热门文章

  1. 去哪儿旅行微服务架构实践
  2. OracleP6机场工程进度控制系列10:总进度计划编制基础
  3. FP5207B:DC-DC升压芯片 软启动 工作频率可调
  4. AD21如何生成Gerber文件
  5. 程序员敲不出代码,怎么破
  6. hackgame blackbap攻略
  7. Python 递归函数返回值为 None 的解决办法
  8. 交互设计是什么:一篇文章推开交互设计的大门
  9. 嵌入式新手学习路线,嵌入式课程学习课程分享
  10. [Oracle] 几本重要的电子图书下载