谷歌,火狐浏览器不支持showModalDialog的解决方法

'window.ShowModalDialog'在Chrome中不起作用 嗨,Kavita3,它是Chrome浏览器中的一个已知问题,您可以使用window.open();希望对您有用 立即下载

首先得知道window.showModalDialog()方法到底是干嘛的,有什么作用.

基本介绍:
          showModalDialog()         (IE 4+ 支持)
          showModelessDialog()      (IE 5+ 支持)
          window.showModalDialog()                  方法用来创建一个显示HTML内容的模态对话框。
          window.showModelessDialog()             方法用来创建一个显示HTML内容的非模态对话框。
使用方法:
          vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures])
          vReturnValue = window.showModelessDialog(sURL [, vArguments] [,sFeatures])
参数说明:
         sURL          --  必选参数,类型:字符串。用来指定对话框要显示的文档的URL。
         vArguments    -- 可选参数,类型:变体。用来向对话框传递参数。传递的参数类型不限,包括数组等。对话框通过
 

                          window.dialogArguments来取得传递进来的参数。
         sFeatures     -- 可选参数,类型:字符串。用来描述对话框的外观等信息,可以使用以下的一个或几个,用分号“;”隔开。
----------------
1.    dialogHeight:    对话框高度,不小于100px
2.    dialogWidth:    对话框宽度。
3.    dialogLeft:     离屏幕左的距离。
4.    dialogTop:     离屏幕上的距离。
5.    center:          { yes | no | 1 | 0 } :              是否居中,默认yes,但仍可以指定高度和宽度。
6.    help:             {yes | no | 1 | 0 }:                是否显示帮助按钮,默认yes。
7.    resizable:       {yes | no | 1 | 0 } [IE5+]:     是否可被改变大小。默认no。
8.    status:          {yes | no | 1 | 0 } [IE5+]:      是否显示状态栏。默认为yes[ Modeless]或no[Modal]。
9.    scroll:            { yes | no | 1 | 0 | on | off }:是否显示滚动条。默认为yes。

以上内容来自于http://www.cnblogs.com/Dlonghow/archive/2009/06/04/1496141.html


然后发现在谷歌,火狐浏览器根本都弹不出来模态对话框,按F12打开调试器发现window.showModalDialog()在这两个浏览器中是根本没有定义的.

解决方法:

$(function(){
    if(window.showModalDialog == undefined){
        //alert("初始化的时候,判断window.showModalDialog是否存在")
        window.showModalDialog = function(url,mixedVar,features){
            window.hasOpenWindow = true;
            if(mixedVar) var mixedVar = mixedVar;
            if(features) var features = features.replace(/(dialog)|(px)/ig,"").replace(/;/g,',').replace(/\:/g,"=");
            window.myNewWindow = window.open(url,"_blank",features);
        }
    }
});


一加载页面的时候,我们就判断这个方法是否是undefined未定义的,如果是,我们给window.showModalDialog()重新赋予新的函数.

原来的写法不变

var returnValue =window.showModalDialog(url,window,"dialogHeight:800px;dialogWidth:800px;center:yes");

子窗口的写法

//选择优惠券
function chooseCoupon(id) {
    var couponName =$('#'+id).val();
    var val={id: id,name:couponName};
    if (window.opener != undefined) {
        //for chrome
        window.opener.returnValue = val;
    }
    else {
        window.returnValue = val;
    }
    //调用父窗口方法
    opener.fuzhi(val);
    window.close();

}

然后遇到打开子窗口的时候就给returnValue赋值,不统一.所以这边换了opener.fuzhi()写法,调用了父类fuzhi的函数,让我们得到的返回值做剩下的业务操作.





谷歌浏览器不支持showModalDialog模态对话框的解决方法 忽然发现Chrome浏览器版本 37.0.2062.103 m 不支持showModalDialog模态对话框和无法返回returnValue 项目原先用到的都不能正常执行 找了个折中方案利用window.open代替showModalDialog利用 window.opener.document来操作父页面的元素 代码如下: window.open(“xsp/exesp?todo=13″,””,”height=500,width=280,status=yes,toolbar=no,menubar=no,location=no"); 代码如下: window.close(); windo 立即下载

相关推荐

谷歌showModalDialog()方法不兼容出现对话窗口的解决办法

给大家介绍了谷歌showModalDialog()方法不兼容出现对话窗口的解决办法,解决办法非常好,感兴趣的朋友可以参考下

关于谷歌不兼容showModalDialog的解决方案

遇到的问题 window.showModalDialog()函数仅能应用于IE浏览器,属于IE浏览器的函数,若想应用于其他浏览器,只能使用window.open()进行替代,但是由于两者并非完全一致,可以说open()完全无法胜任替代showModalDialog()工作,最主要的就是showModalDialog()提供了一个子窗口与父窗口的一个传值交互的功能。所以最好的方式就是自己写一个showModalDialog()方法,让浏览器直接调我们自己写的showModalDialog()方法。 解决方案

qq_38649702的博客 7121

5种主流触觉传感器对比:GelSight、DIGIT、Taxim、GelSlim和TACTO怎么选?

本文深度对比了GelSight、DIGIT、Taxim、GelSlim和TACTO五种主流触觉传感器的技术原理与应用场景。针对机器人及VR项目的选型需求,文章从光学与电子传感的技术分野出发,分析了各传感器在分辨率、响应速度、集成难度和成本上的核心差异,并提供了从需求出发的实战选型决策框架,帮助开发者找到最适合的触觉解决方案。

weixin_29268637的博客 695

window.showModalDialog()不兼容Chrome替换方案

在JavaScript中:window.showModalDialog()(模态窗口)是IE支持的函数,效果就是弹出一个窗口,但是在高版本的Chrome中是不支持该方法的,那么我们要怎样在让Chrome也支持弹窗效果呢?原文链接:https://blog.youkuaiyun.com/qq_42763903/article/details/125997469。是一个悬置在网页上层的窗口,点击后无法对原网页进行修改,必须先关闭窗口。弹出的窗口是一个新的窗口,多次点击会弹出多个,能在不关闭窗口的同时来编辑网页内容。

JonathanSu2016 1785

基于单片机控制的开关电源设计

采用开关电源技术和MCU模块,凭借可靠性高、易于调适的特点,可以更高效地发挥出二者的优势,从而实现更好的组合。stm32的起动模式是通过Boot0和Boot1两个管脚的高低电平来决定的,当stm32被供电之后,这两个管脚的电平。在 VCC上,键盘的一头(列线)被连接到 VCC上,而在“0”的编程输出中,则用来进。,在开关管打开的情况下,由输入电力供给电流,感应装置存储   Buck变换器是一种非隔离式的电压转换器[10]整流电路对输入电压进行整流,再经过滤波电路,即Dc电压是直流/直流变换器的直流输入。

QQ1694456187的博客 2308

带挂牵引车倒车运动模型推导及仿真实现

半挂牵引车在倒车时,由于鞍座主销的连接限制,其运动方式与乘用车有显著差异。例如,乘用车在右侧倒车入库时,只需确定泊车起点并将方向盘向右打死。相反,牵引车在倒车时需要先向左转方向盘,当铰接角达到防折叠的临界值时,再将方向盘向右转回,以调整牵引车与挂车至直线状态,完成泊车入库。本研究旨在建立一个基于牵引车带挂车倒车运动学模型,该模型基于以下假设: 道路在车辆行驶过程中保持平坦,无凹凸不平; 车辆以低速行驶,且在运行过程中车身不发生侧倾或俯仰; 行驶过程中,轮胎无变形,无侧向滑动,且不产

jianmo的博客 2697

谷歌,火狐浏览器不支持showModalDialog

解决方法:$(function(){ if(window.showModalDialog == undefined){ window.showModalDialog = function(url,mixedVar,features){ window.hasOpenWindow = true; if(mixedVar) var ...

java小菜鸟的博客 1107

海康威视iSC平台视频流对接:RTSP、HLS、WS三种协议到底该怎么选?

本文深入分析海康威视iSC平台视频流对接中RTSP、HLS和WebSocket三种协议的优缺点,帮助开发者根据实时性、兼容性和网络环境做出最优选择。特别适合综合安防管理平台的Web视频监控系统开发,提升用户体验和系统性能。

weixin_28365523的博客 691

处理showModalDialog在谷歌浏览器下获取不到返回值的方法

showModalDialog的返回值在IE、火狐下面都能够获取返回值,但是在谷歌浏览器下面会返回Null,下面介绍解决方法 父页面:   function openwindows(){ var obj = new Object(); //打开模态子窗体,并获取返回值 var retval = window.showModalDialog("ordervideo.jsp?rd

学习也休闲 1839

HBase在物流行业的应用:轨迹数据存储

想象一下,每天在全球范围内,数以亿计的物流包裹在各个城市、乡镇间穿梭。每一个包裹从发货人手中出发,经过仓储中心、转运站,最终到达收货人手中,这一路上都留下了它的“足迹”,也就是我们所说的轨迹数据。这些数据就像一个个拼图碎片,完整拼接起来后,能够清晰地呈现出整个物流网络的运行状况。例如,你在网上购买了一件心仪已久的商品,迫不及待地想知道它现在到哪儿了。物流平台实时更新的轨迹信息,让你可以准确了解包裹是在运输途中,还是已经到达附近的站点。

架构师的AI之路,分享AI应用开发架构的学习与实践。 965

大模型部署指南:SGLang 框架

本文介绍使用 SGLang 框架部署大模型

举世誉之而不加劝,举世非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。 1611

关于模态窗口window.showModalDialog

火狐下不支持window.showModalDialog()弹出模态窗口的解决方案。

itmaxin的专栏 4904

突破边缘AI算力瓶颈:YOLOv12模型剪枝与知识蒸馏联合优化全攻略

这套剪枝-蒸馏联合方案的优势在于其系统性和可靠性。它不是单一的技巧,而是一套完整的工程流程,确保了从研发到部署的无缝衔接。

m0_71589036的博客 219

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

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

肖明伟 的博客 2592

手把手教你学SOC芯片架构--NoC(片上网络,Network on Chip)全方位解析

​、​。

MHD0815的博客 863

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

<base target="_self">

在操作文件下载时,必须去掉 &lt;base target="_self"&gt; 否则在IE中将无法跳出一个窗口来 在火狐,谷歌中能运行的原因是该浏览器不支持showModalDialog和showModelessDialog打开模态和非模态窗口; IE下,可以通过showModalDialog和showModelessDialog打开模态和非模态窗口;...

yongyonglsy的专栏 166

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

window.showmodaldialog 兼容谷歌方案

所有涉及弹窗口的页面均调用这个脚本文件:showModalDialog.jsvar has_showModalDialog = !!window.showModalDialog;//定义一个全局变量判定是否有原生showModalDialog方法 if(!has_showModalDialog &amp;&amp;!!(window.opener)){ window....

hq.zheng的博客 7842

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

高版本Chrome兼容window.showModalDialog办法

高版本Chrome兼容window.showModalDialog办法 由于showmodaldialog 不属于W3C标准,在新版本浏览器中不再受支持,我们需要自定义一个showmodaldialog 来代替。 将要打开模态框的主页面代码: &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;!DOCTYPE html&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; &amp;amp;amp

曲莫终的博客 9764

【chrome&Edge不兼容openModalDialog弹出模态窗口window.showModalDialog解决办法】

现在项目中只能在IE打开弹窗页面,在chrome/Edge无法打开弹窗。

weixin_50188421的博客 4087

javascript window.showModalDialog不兼容goole解决方案

window.showModalDialog不兼容goole解决方案 一.弹框方案: 1.window.open; 2.window.showModalDialog; 3.div制作窗口;(本节忽略) 二.参数: 1.window.open参数解释: /* *常用参数:  1.page.html' 弹出窗口的文件名; 2.newwindow' 弹出窗口的名字(...

dazhexuan0219的博客 428

解决chrome 不兼容window.showModalDialog问题

在父窗口加上这么一段代码: &lt;script type="text/javascript"&gt; function showmodal()       {         alert("我是父亲窗口")  if(window.showModalDialog == undefined){  //谷歌alert("dddddddddddddd")      window.myNewWindo...

navymei10220214的专栏 3280

Chrome不支持showModalDialog的解决方案

Chrome不支持showModalDialog的解决方案 昨天在使用showModalDialog的时候,遇到如下问题: 如果子窗口被刷新过,那么父窗口就接受不到子窗口的返回值。 为了解决这个问题,哎,我纠结了好久,最后才发现不是代码的问题,而是多浏览器兼容问题,因为我是用Chrome调试的,而Chrome是不支持showModalDialog的,所以父窗口才没

当幸福来敲门的专栏 712

解决老项目google showModalDialog兼容问题

由于google已经抛弃了showModalDialog,很多老项目中还存在这个,所以导致兼容问题的出现,因此我得出了下面的处理方法 1、在第一次加载的js中添加下面内容 if(!window.showModalDialog){//没有此方法,是google浏览器      if(!window.winModalDialog){          window.winModalDialog=f...

qq_34665176的博客 1190

模态对话框的支持 (IE,Firefox,Chrome)

Opera 和 Chrome 对模态对话框(showModalDialog)的支持有缺陷,且非 IE 浏览器均不支持非模态对话框(showModelessDialog) 标准参考 模态对话框 和 非模态对话框 的概念来自于 GUI 程序,实际上这两种对话框仍然是窗口的一种。 模态对话框在打开后会阻断其父窗口接受键盘及鼠标消息,并且使父窗口是去焦点。只有当用户关闭当前的模态对话框后

fugui6611634的专栏 3727
上一篇: idea中使用git提交代码报错:commit your changes or stash them before you can merge.
下一篇: 使用谷歌插件Restlet Client调试接口请求
Java_wucao
博客等级 码龄11年 272粉丝 42原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java_wucao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值