在子窗口关闭动态2011之后刷新父页面

时间:2018-02-02 04:32:59

标签: javascript html dynamics-crm-2011

这是在Microsoft Dynamics 2011的上下文中。我正在使用showModalDialog打开一个webresource。这个问题严格适用于IE。我尝试使用window.unload在关闭模式对话框后刷新父页面,使用以下代码:

    window.onunload = refreshParent;
      function refreshParent() {
        window.opener.location.reload();
    }

并且还尝试使用setInterval从父页面轮询模态页面的关闭状态,并在关闭时触发刷新,但似乎没有工作。想知道是否有人有任何想法......

1 个答案:

答案 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