【问题标题】:use window.open in case of chrome在 chrome 的情况下使用 window.open
【发布时间】:2014-10-20 06:25:11
【问题描述】:

由于window.showModalDialog 不适用于chrome,我在firefoxchrome 的情况下使用它,我使用的是window.open,但我的问题是window.open 的返回值是未定义可能是因为在我关闭子窗口之前 javascript 继续,所以我尝试将代码置于此条件if (returnValue.closed) .. 但问题是子窗口一直在加载,我无法从中选择我的值.

这是我的代码:

if (window.showModalDialog) {
   var retVal = window.showModalDialog(...)

if (!window.showModalDialog) {
 var retVal = window.open(...);
            while (a == 0) {
                if (retVal.onload()) {
                    if (retVal.closed) {
                        if (retVal != null) {...
                        }
                    }
                }
        }
    }

非常感谢任何帮助。

【问题讨论】:

标签: javascript google-chrome window.open


【解决方案1】:

showModalDialog 是一个已弃用的功能。您可以查看http://blog.chromium.org/2014/07/disabling-showmodaldialog.html了解更多详情。

我建议您使用javascript“弹出窗口”的另一个选项(从许多可用的选项中),它也会“冻结”页面的其余部分,例如:

您需要找到另一种方法将返回值传递回您的页面,具体取决于您选择使用的选项。

【讨论】:

  • 感谢您的帮助我正在使用第一个选项github.com/niutech/showModalDialog,但问题是使用 open.showModal 对话框后函数的参数丢失了。我的意思是,如果我想通过 document.getElementById(one_of_the_function_arguments) 在文本框中设置返回值,它不起作用,因为这个参数只在谷歌浏览器中丢失!!!你知道为什么吗?再次感谢
猜你喜欢
  • 2011-10-29
  • 1970-01-01
  • 2014-05-22
  • 2013-01-25
  • 2021-06-10
  • 2016-04-07
  • 2016-06-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多