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

标签 javascript popup

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

function popup()
{

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

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

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

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

最佳答案

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();
}

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

<body onFocus="parent_disable();" onclick="parent_disable();">

根据您的要求,这里是父窗口的完整 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>

下面new.jsp的内容

<html>
<body>
I am child
</body>
</html>

关于Javascript 打开弹出窗口并禁用父窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5660700/

相关文章:

如果设置了 session 变量,Javascript React 重定向

javascript - 如何在开始时停止 HTML5 中的所有其他视频

javascript - [].slice.call(this) vs array.prototype.call(this)

javascript - 弹出窗口打开时是否可以添加类(class)?

javascript - 关闭和打开 chrome 扩展弹出窗口时如何不丢失数据

javascript - 将 CSS 附加到父级的子弹出窗口

javascript - Webpack 插件开发 - 函数调用父函数的参数

javascript - Angular GET 请求错误,但仅限于 Safari iOS

jquery - 显示 twitter bootstrap 弹出确认对话框

java - 如何使用计时器制作 Activity 弹出窗口