2 q449069356 q449069356 于 2014.10.11 16:19 提问

使用window.showModalDialog()在谷歌浏览器中打不开子窗口

父窗口相关代码
function funShowDialog(fileName, str_dialogWidth, str_dialogHeight, obj_Text, hid_value, ldObj, parentFieldName)
{
var path = fileName + "&check=" + hid_value;
var SValue = "";

//如果弹选窗为被动对象,且弹出网址中不包含hold_key参数则提示用户选择主动对象
if (funOpenWinIsBD(obj_Text.id.substring(8))) {
    if (path.indexOf("hold_key=") == -1) {
        alert("请先选择主动对象!");
        return;
    }
}

var newwindow = window.showModalDialog(path, "", ";dialogWidth:" + str_dialogWidth + "px;dialogHeight:" + str_dialogHeight + "px;center:1;scroll:0;help:0;status:0;resizable:yes");

var objHidden;
if (String(newwindow) != "undefined") {
    var arrValue = newwindow.toString().split("|");   //value|text
    if (obj_Text.value != "") {
        //hold_single=0
        if (GetQueryString('hold_single', path) == '0' && confirm("是否累加选择?")) {
            obj_Text.value = obj_Text.value + ',' + arrValue[1];
            objHidden = document.getElementById(obj_Text.id.substring(8));
            objHidden.value = objHidden.value + ',' + arrValue[0];
        } else {
            obj_Text.value = arrValue[1];
            objHidden = document.getElementById(obj_Text.id.substring(8));
            objHidden.value = arrValue[0];
        }
    } else {
        obj_Text.value = arrValue[1];
        objHidden = document.getElementById(obj_Text.id.substring(8));
        objHidden.value = arrValue[0];
    }

子窗口相关代码
function funReturnValue(strValue)
{
window.returnValue = strValue;
window.close();
}
在父窗口是点击时候弹不出子窗口,在谷歌中弹不出来,在采纳百度上的一些关于解决谷歌兼容性的问题都没用,还是打不开

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
这是困扰了我几天的大问题.....解决chrome 不兼容window.showModalDialog问题
我就直接上代码了 在父窗口加上这么一段代码:   function showmodal()       {         alert("我是父亲窗口")  if(window.showModalDialog == undefined){  //谷歌 alert("dddddddddddddd")      window.myNewWindow = window.open(url
谷歌,火狐浏览器不支持showModalDialog的解决方法
首先得知道window.showModalDialog()方法到底是干嘛的,有什么作用. 基本介绍:           showModalDialog()         (IE 4+ 支持)           showModelessDialog()      (IE 5+ 支持)           window.showModalDialog()
谷歌浏览器不支持showModalDialog模态对话框的解决方法
最近在项目中用到了  showModalDialog,
Chrome不支持showModalDialog的解决方案
昨天在使用showModalDialog的时候,遇到如下问题: 如果子窗口被刷新过,那么父窗口就接受不到子窗口的返回值。 为了解决这个问题,哎,我纠结了好久,最后才发现不是代码的问题,而是多浏览器兼容问题,因为我是用Chrome调试的,而Chrome是不支持showModalDialog的,所以父窗口才没有收到子窗口的返回值的,在IE下就没有这个问题了。 后来在网上查了一下,
解决谷歌浏览器不支持模态窗口返回值的问题
window.showModalDialog(url, parameter, winStyle)用于在当前窗口打开一个子窗口,并返回子窗口中设置的返回值。正常情况下,它可以实现在子窗口关闭后返回值到父窗口,但是在谷歌浏览器中发现,获取不到返回值。 解决方法如下: 1、可以在子页面中,窗口关闭时直接设置父页面的值,这样就不需要获取返回值; 2、如果子页面被多个地方调用,不期望修改子页面。可以在
asp.net window.showModalDialog 后台用法(兼容谷歌浏览器)
父页面 按钮事件代码
高版本chrome不再支持window.showmodaldialog 的临时替换方案【用window.open】
接管别人的项目,因开发时用了showmodaldialog 导致最近很多用户chrome升级到最新之后 就无法弹窗了。原因是新版chrome[37+]不再支持showmodaldialog。 showmodaldialog 并不是W3C标准内的方法,起源于IE, 当是低版本的firefox也是不支持的,后来不知怎么了又纳入了这个方法。貌似opera和safari都不支持。随着web标准的日益规范
关于window.showModalDialog()的使用以及实现父窗口与子窗口的交互
           昨天在项目中要实现一个弹出页面展示table数据,然后选中table表单中的一条数据给父窗口使用,选择使用window.showModalDialog()方法实现弹出页面,下面记录一下使用心得。 (一)、基础知识了解window.showModuleDialog()方法用来创建一个显示html内容的模态对话框,模态对话框是指,在模态对话框打开的情况下,如果你想要对对话框以外的...
showModalDialog模态对话框的使用以及浏览器兼容
ModalDialog 是什么? showModalDialog 是js window对象的一个方法, 和window.open一样都是打开一个新的页面。 区别是: showModalDialog打开子窗口后,父窗口就不能获取焦点了(也就是无法操作了)。 可以在子窗口中通过设置 window.returnValue 的值,让父窗口可以获取这个return value. 一个例子 1)
使chrome兼容showModalDialog的方法
代码: main.html //定义window.showModalDialog如果它不存在 if(window.showModalDialog == undefined){ window.showModalDialog = function(url){ if(window.hasOpenWindow){