javascript - window.dialogArguments 在 Firefox 3 showModalDialog 函数中回发后重置

标签 javascript firefox

在 Firefox 3 中回发后 window.dialogArguments 属性被重置。回发后,尝试设置 window.dialogArguments 属性会产生错误。检查该属性时,其值未定义。这很奇怪,因为就在模态窗口打开时,该属性似乎已创建并且可以访问。此行为仅在回发后发生。这是 Firefox 3 的已知错误吗,因为自版本 4 以来 IE 中的方法 showModalDialog 刚刚实现。如何解决这个问题?

最佳答案

如果 window.dialogArguments 属性未定义,您可以直接通过 window.opener.myObject 使用该对象:

开场白

m_oArgs = new Object;
m_oArgs.Foo = "";
window.showModalDialog("http://myUrl/dialog.aspx", m_oArgs, 'dialogWidth:350px;dialogHeight:140px;');
alert(m_oArgs.Foo)

对话

var DA = window.dialogArguments;
if (DA != null) {
    DA.Foo = "MyArgument";
} else {
    if ((!window.opener.closed) && (window.opener.m_oArgs)) {
        window.opener.m_oArgs.Foo = "MyArgument";
    }
}

关于javascript - window.dialogArguments 在 Firefox 3 showModalDialog 函数中回发后重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6213996/

相关文章:

javascript - 使用 jquery hide() 时,Firefox 不会隐藏 div

html - 啊! Firefox 中的最后一分钟浏览器/CSS Quirk - 谁能帮忙?

javascript - 我可以将 Windows Gadget 中的记录保存在文件或其他存储(数据库等)中吗?

javascript - 尝试从类中检索值时出现 NAN 错误?

Javascript + Firebug console.log(),如何不获取异常?

CSS 转换模糊了 Firefox 41.0.1 上的复选框

javascript - firefox jpm - 从选项卡调用外部发送到选项卡

javascript - JavaScript 文件之间的冲突

javascript - 为什么八进制文字不作为字符串转换为数字?

javascript - Firefox DevTools 控制台中的 "Jump to definition"跳转到缩小的 JavaScript