我正在编写一个 Intranet 系统,我必须使用 IE 7。
在 IE7 中有一个名为“window.showmodaldialog”的方法,它应该返回在模式中传递的值,如:window.returnValue =“some string”。
我的代码是 index.jsp
var result = window.showmodaldialog(url)
模态的.jsp:
window.returnValue = "some string"
但是当我关闭模式时,“结果”变量总是未定义的。域和协议相同。并且 window.opener 是未定义的。
在 modal.jsp 中,遗留系统会进行一些刷新和重定向,我们必须保持这种方式。这是问题吗?如果是,有办法解决吗?我真的需要继续使用window.returnValue,因为系统可以打开其他我没有源的模型。
编辑:添加有关 modal.jsp 的更多信息:
var jsonReturn = {"one_tag": "some value", "id": "id"};
jsonReturn = JSON.stringify(jsonReturn);
window.returnValue = jsonReturn;
window.close();
一些选择框向modal.jsp提交表单,使得页面刷新。