javascript - 如何在 IE 中重新加载模式对话框

标签 javascript internet-explorer modal-dialog

我正在开发一个使用 modaldialog(showModalDialog()) 的 Web 应用程序 。用户必须填写一些文本字段,并且作为通常的网络表单,如果用户犯了错误,则需要重新加载对话框。我可以通过使用 location.reload(true);

来解决这个问题

但这在 IE 中不起作用。我错过了什么或者有什么限制吗?请指导我。

谢谢

最佳答案

做下面的麻烦是因为分配给location.href不起作用。它只会打开另一个窗口,该窗口从模式的父级加载页面。

首先,您需要在 head 部分创建一个基本标签,例如

<head>
    <base target="_self" />
</head>

然后模拟用户单击链接,因为该链接只是脚本激活重新加载过程的实用程序,您可能想隐藏它。我们称此链接重新加载。

<a id="reload">reload</a>

重新加载模式对话框的脚本是

// Get the link object to simulate user click
var reload = document.getElementById('reload');

// Assign the modal url to the link then click!
reload.href = window.location.href;
reload.click();

您现在应该能够刷新 IE 中的模式对话框。

关于javascript - 如何在 IE 中重新加载模式对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14495213/

相关文章:

javascript - iCal 文件下载在 IE 中发送错误

iFrame 上的 jQuery 模式对话框

javascript - Angularjs 打开模式与图像

html - 使用 <button> 或 <a> 打开/关闭模式是否更方便?

javascript - 将 Snap.js 安装到 Twitter Bootstrap

仅检查空值的 Javascript 最佳实践

javascript - AngularJS 将值加载到 ng-if 指令的时间

javascript - 为什么在 Angular 2 中导入服务时需要 () ?

javascript - React - IE11 - 访问过的链接在刷新时未被识别为访问过

Internet Explorer 中的 jquery 选择框错误