Javascript JS showModalDialog无法在chrome中作为模态运行
我在应用程序中使用了Javascript JS showModalDialog无法在chrome中作为模态运行,javascript,google-chrome,showmodaldialog,Javascript,Google Chrome,Showmodaldialog,我在应用程序中使用了showModalDialog(),用户可以通过模式弹出窗口查看来自不同来源的文章 它与FF和IE配合得很好,但在chrome中它的行为不像模态,我仍然可以在父窗口上点击其中的任何元素 我想让它和IE和FF一样工作 我已经看了一些周围的工作 1) 在父窗口上设置onfocus事件,然后再次将子窗口对焦 <script type="text/javascript"> setInterval(checkFocus, 10);
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>
设置间隔(检查焦点,10);
var-mywindow;
函数openModal(){
var a=新数组;
a[0]=1;
a[1]=4;
mywindow=window.showModalDialog(myurl,
a、 “对话框宽度:1000;对话框高度:700;可调整大小:是;中心:是;”;
}
函数checkFocus(){
if(mywindow!=null&&mywindow!=未定义){
if(window.focus){
mywindow.focus();
}
}
}
但这似乎并不像预期的那样有效
2) 将子窗口上的onblur
事件设置为再次聚焦
这个解决方案是我从一些在线资源中读到的。如果只有子窗口是来自我的域的自定义页面,我可以应用此解决方案,但由于我的子窗口可以是来自任何域的任何url
,因此不适用于我的情况
我需要让它工作起来,有人能建议我吗???Chrome的实现有严重的缺陷。最重要的是,Chrome显示的窗口不是模态的(请参阅),这意味着用户可以在处理模态对话框之前与原始窗口进行交互。谢谢@axel.michel的回复,我开始了解Chrome的这个问题。但是我正在找工作。你能提出解决方案吗?@meghana你看过错误描述下面的讨论了吗?有一些建议的解决方案(例如,这个:)可能会有帮助。嗯。。。再次感谢@axel.michel,我会尝试一下,让你知道:)