这是在Microsoft Dynamics 2011的上下文中。我正在使用showModalDialog打开一个webresource。这个问题严格适用于IE。我尝试使用window.unload在关闭模式对话框后刷新父页面,使用以下代码:
window.onunload = refreshParent;
function refreshParent() {
window.opener.location.reload();
}
并且还尝试使用setInterval从父页面轮询模态页面的关闭状态,并在关闭时触发刷新,但似乎没有工作。想知道是否有人有任何想法......
答案 0 :(得分:0)
首先,请注意: showModalDialog()
在所有现代浏览器中都已弃用。虽然它在IE中运行(包括版本11),但Edge不支持。在您需要更改此实现之前,这只是一个时间问题。我强烈建议您考虑不使用此方法的替代解决方案。
也就是说,如果您决定使用showModalDialog()
,请考虑将函数调用分配给变量。在模态页面中,您可以分配到window.returnValue
属性以传递您喜欢的任何数据。
在主页面代码中,您可以检查变量的值,并相应地采取措施。这是一种方法:
var returnedFromModal = window.showModalDialog(/* your options here*/);
if (returnedFromModal) {
window.location.reload();
}
/* ... other modal-related code ...*/
window.returnValue = true;
可在此处找到更多文档:post