使用window.open以防镀铬
use window.open in case of chrome
由于window.showModalDialog
在chrome上不起作用,我在firefox
和chrome
中使用它,但我的问题是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) {...
}
}
}
}
}
非常感谢您的帮助。
showModalDialog是一个不推荐使用的功能。你可以看到http://blog.chromium.org/2014/07/disabling-showmodaldialog.html了解更多详细信息。
我建议你使用另一个javascript"popup"选项(从许多可用选项中),它也会"冻结"页面的其余部分,如:
- https://github.com/niutech/showModalDialog对话框polyfill
- http://getbootstrap.com/javascript/#modals-引导模式
- http://jqueryui.com/dialog/#modal-确认-JQueryUI模式
- 等等
您需要找到另一种方法将返回值传递回页面,具体取决于您选择使用的选项。
相关文章:
- 直接下载文件,而不是从window.open(url)
- 如何将PDF作为二进制文件传递到window.open()
- 为什么window.open不打开一个以变量形式给出的链接
- 如何在`window.open`之后执行回调
- javascript window.open将无法在Chrome控制台上工作
- window.open根据动态内容自动调整高度和宽度
- window.open使页面向上滚动
- window.open(url).print()在Safari中不起作用
- Javascript window.open()toolbar=no不起作用
- window.open尽管被用户触发,但仍无法在InternetExplorer中工作
- $.ajax().done()中的window.open和弹出窗口拦截器
- 如何在JS文件中添加wordpress permalink(onclick,window.open)
- window.open:是否可以通过修改DOM来打开一个新窗口
- 在window.open()生成的窗口中执行JavaScript
- 检查window.open支持-JavaScript
- javascript window.open(),并在新窗口中搜索DOM
- 从.change()调用window.open时避免弹出阻塞
- window.open没有't在设置setTimeout内工作-弹出窗口被阻止
- 强制 window.open() 在 chrome 中创建新选项卡
- 如何获取 onchange 以设置 onclick=window.open(url)