我showModalDialog()
在我的应用程序中使用,让用户以模式弹出窗口的形式查看来自不同来源的文章。
它适用于 FF 和 IE,但在 chrome 中它的行为不像模态,我仍然可以进入父窗口并单击其中的任何元素。
我想让它和 IE 和 FF 一样工作。
我看过一些解决方法
1)onfocus
在父窗口上设置事件,并再次关注子窗口。
<script type="text/javascript">
setInterval(checkFocus, 10);
var mywindow;
function openModal() {
var a = new Array;
a[0] = 1;
a[1] = 4;
mywindow = window.showModalDialog(myurl,
a, "dialogwidth: 1000; dialogheight: 700; resizable: yes;center : yes;");
}
function checkFocus() {
if (mywindow != null && mywindow != undefined) {
if (window.focus) {
mywindow.focus();
}
}
}
</script>
但这似乎没有按预期工作。
2)onblur
在子窗口上设置事件,再次聚焦自己
我从一些在线资源中阅读了这个解决方案。如果仅从我的域中自定义子窗口,我可以应用此解决方案,但由于我的子窗口可以是任何url
来自任何的子窗口domain
,因此不适用于我的情况。
我需要让它工作,有人可以建议我吗?