目前,新版本的chrome和opera、Firefox等浏览器已经不支持showModalDialog方法。

如果是没有接收返回值的,可以直接将window.showModalDialog改为window.open。

需要接收返回值的情况:

父页面设置:

var uIdName;
function chooseuser_m() {
var num = Math.random();
var str = "" + document.getElementById('wfUserIDs').value + "";
try {uIdName = window.showModalDialog("../../Choose/ChooseUser.aspx?tmp=" + num + "&rqstr=" + str + "", "window", "dialogWidth:650px;DialogHeight=520px;status:no;scroll=no;help:no");var arr = uIdName.split("|");for (var i = 0; i < arr.length; i++) {document.getElementById("wfUserIDs").value = arr[0];document.getElementById("wfUserNames").value = arr[1];}}
catch (e) {window.open("../../Choose/ChooseUser.aspx?tmp=" + num + "&rqstr=" + str + "", "window", "dialogWidth:650px;DialogHeight=520px;status:no;scroll=no;help:no");}
}

这里先将原来的方法改成window.open,接下来是子页面的设置:

    function sendFromChild() {if ((navigator.userAgent.indexOf('MSIE') >= 0) && (navigator.userAgent.indexOf('Opera') < 0)) {window.returnValue = chkSelect(); //chkSelect()获取一组数据}else {chkSelectChrome();}window.close();}//for chrome 2015-03-07function chkSelectChrome() {var uIdName = chkSelect();var arr = uIdName.split("|");for (var i = 0; i < arr.length; i++) {opener.document.all.wfUserIDs.value = arr[0]; //wfUserIDsopener.document.all.wfUserNames.value = arr[1];}}

这里只判断非IE下的方法,在chrome下测试通过,其他非IE浏览器没有测试。

opener.document.all.IDName.value //直接对父窗体赋值 ID必须对应 否则报错

window.showModalDialog与window.open所带的参数可以是一样的,弹出的窗口不会改变

转载于:https://www.cnblogs.com/bo10296/p/4320000.html

关于chrome等浏览器不支持showModalDialog的解决方案相关推荐

  1. Chrome不支持showModalDialog的解决方案

    Chrome不支持showModalDialog的解决方案 昨天在使用showModalDialog的时候,遇到如下问题: 如果子窗口被刷新过,那么父窗口就接受不到子窗口的返回值. 为了解决这个问题, ...

  2. 移动端UC浏览器不支持Blob的解决方案

    前言 uc浏览器不支持Blob的解决方案 参考文章:http://www.haomou.net/2016/01/14/2016_android_blob/ 如果你使用canvas导出图片,并将图片存储 ...

  3. 微信内置浏览器不支持下载的解决方案 微信点击链接直接下载app安装包功能实现方式

    由于微信引流具备快速性和高效的二次传播性,故众多商家纷纷选择微信推广为主要的推广方式.但在使用微信分享链接和营销方案的过程中经常会遇到分享链接在微信内被拦截从而无法打开或者打开后无法下载文件 的情况, ...

  4. 360浏览器支持ajax吗,请问IE11,chrome,360浏览器7.1极速等这些浏览器不支持ajax技术吗?...

    请问IE11,chrome,360浏览器7.1极速等这些浏览器不支持ajax技术吗?0 qdh_water2016.01.12浏览69次分享举报 以下是源代码,下面的代码在IE9,IE8,360浏览器 ...

  5. 火狐谷歌chrome等浏览器支持一些css滤镜

    问题:       filter:alpha(opacity=60)只在IE起作用,火狐.谷歌不支持 解决方法:       将原有的"filter:alpha(opacity=60)&qu ...

  6. chrome浏览器不支持video标签,不能自动播放。

    问题:chrome浏览器不支持video标签的autoplay属性,网页刷新后不能自动播放视频. 处理: 方法一: 在video标签中加入muted="muted" 属性,但会让视 ...

  7. 新Chrome浏览器不支持html5的问题

    window.applicationCache事件,最新chrome浏览器已经不能判断是否支持html5: 之前,在IE和Google中 为ApplicationCache对象,而在FF中为 Offl ...

  8. vivo系列某些机型的浏览器不支持Chrome调试

    vivo系列某些机型的浏览器不支持Chrome调试 由于公司项目重构,项目外包,但是我们也可以参与其中,才有了这个偶然的发现. 在调试分享功能是,用vivo y66手机(16年首发时购买,一直未更新过 ...

  9. 中文版Chrome浏览器不支持12px以下字体的解决方案

    中文版Chrome浏览器不支持12px以下字体的解决方案 Chrome 27之前的中文版桌面浏览器会默认设定页面的最小字号是12px,英文版则没有限制,主要是因为chrome认为汉字小于12px就会增 ...

最新文章

  1. 微信小游戏开发教程-游戏实现1
  2. [leetcode]Trapping Rain Water @ Python
  3. 每次执行java命令 都要source_跟着平台混了四年,现在要单飞了!
  4. 【Python】from __future__ import absolute_import的作用
  5. [cocos2d-x]HelloWorldDemo
  6. 2017 码云最火开源项目 TOP 50,你用过哪些?
  7. 电商独立站-谷歌SEO指标
  8. 通过计算机名访问linux
  9. 多位数据库专拣点评这本书
  10. TeleportUltra_1.65_PortableSoft离线浏览利器-扒网页神器
  11. 编程入门: 自学编程从哪里开始? [初学参考]
  12. 1949-2017闰年 c语言,1949年到2017年里有多少个闰年,多少个平年
  13. picoCTF2022_wp@fgps
  14. 微信开发必备工具:利用cpolar在公网上测试本地Web网站或移动应用程序
  15. 【媒体聚焦】“我们为什么要为景安点赞”——记景安网络十四年峥嵘岁月
  16. UBR/CBR/VBR
  17. Postman接口测试工具实战演练集
  18. vue项目中动态显示时间
  19. 垃圾键盘(bushi) (悲剧文本)
  20. Python 求10000以内的完全数

热门文章

  1. 周怎么换算成月_您每天需要多少能量,怎么知道自己摄入多少能量
  2. python读文件的解码方式_跳过Python文件读取中的不可解码字符
  3. java课程心得_javaweb课程心得体会(三)
  4. java解数独_java解数独
  5. python 非线性回归_机器学习入门之菜鸟之路——机器学习之非线性回归个人理解及python实现...
  6. java负数右移_收入囊中篇---Java程序基础(二)
  7. 不同模块下包重名怎么解决_模块
  8. mysql运维工资_MySQL运维踩坑
  9. graphpad做折线图坐标轴数字_pandas做数据可视化具体操作,快来看看吧
  10. 织梦生成html加速,加快DEDECMS静态html网页生成速度的方法