Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS showModalDialog无法在chrome中作为模态运行_Javascript_Google Chrome_Showmodaldialog - Fatal编程技术网

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,我会尝试一下,让你知道:)