Javascript打开弹出窗口并禁用父窗口

tes*_*dtv 22 javascript popup

我想打开一个弹出窗口并禁用父窗口.以下是我正在使用的代码;

function popup()
{

    popupWindow = window.open('child_page.html','name','width=200,height=200');
    popupWindow.focus();
}
Run Code Online (Sandbox Code Playgroud)

出于某种原因,父窗口不会被禁用.我需要一些额外的代码或者是什么情况?

再次,我正在寻找类似于我们使用showModalDialog()时得到的东西..即它根本不允许选择父窗口.只是我想要使用window.open完成同样的事情

另外请建议跨浏览器兼容的代码..

anu*_*anu 31

var popupWindow=null;

function popup()
{
    popupWindow = window.open('child_page.html','name','width=200,height=200');
}

function parent_disable() {
if(popupWindow && !popupWindow.closed)
popupWindow.focus();
}
Run Code Online (Sandbox Code Playgroud)

然后在父窗口的body标签中声明这些函数

<body onFocus="parent_disable();" onclick="parent_disable();">
Run Code Online (Sandbox Code Playgroud)

正如您在此处所要求的那样是父窗口的完整html代码

<html>
<head>
<script type="text/javascript">

var popupWindow=null;

function child_open()
{ 

popupWindow =window.open('new.jsp',"_blank","directories=no, status=no, menubar=no, scrollbars=yes, resizable=no,width=600, height=280,top=200,left=200");

}
function parent_disable() {
if(popupWindow && !popupWindow.closed)
popupWindow.focus();
}
</script>
</head>
<body onFocus="parent_disable();" onclick="parent_disable();">
    <a href="javascript:child_open()">Click me</a>
</body>    
</html>
Run Code Online (Sandbox Code Playgroud)

new.jsp的内容如下

<html>
<body>
I am child
</body>
</html>
Run Code Online (Sandbox Code Playgroud)