[英]Gray-out the background when popup opens
我点击链接/文本框或按钮下面的javascript调用。
function OpenPopupLinkRisk(Number)
{
window.open("../PopUp.aspx?id=" + Number, "List", "scrollbars=no,resizable=yes,width=700,height=450");
return false;
}
在关闭弹出窗口之前,我不希望用户做任何其他事情。 那么我怎样才能灰色背景并强制用户先关闭弹出窗口,然后在应用程序上执行任何其他活动。
任何人都可以建议我如何实现这一目标?
谢谢 !
首先,我真的不赞成使用window.open,除非你真的需要一个新的浏览器弹出窗口。 如果你想坚持使用persee,那么必须使用计时器或其他东西来手动检查窗口何时关闭,如:
var popup = window.open('http://www.example.com', 'example', '');
var timer = setInterval(function() {
if(window.closed) {
clearInterval(timer);
alert('Closed alright');
}
}, 100);
另外,查看一些关于这个主题的教程, Modal Popup
首先直接解决你的问题,我不建议使用它然后你应该采取的方法,从可用性和安全的角度来看更好。
// mask your page
mask();
// open popup
var popup = window.open("../PopUp.aspx?id=" + Number);
// check whether it's been closed
function check()
{
if (popup && !popup.closed)
{
setTimeout(check, 1000);
}
// unmask your page
unmask();
}
check();
使用window.open
是一个糟糕的解决方案,因为它存在安全风险,弹出窗口阻止程序阻止站点打开新窗口。 这也被认为是不好的做法。
一个更好的现代替代方案是直接在页面内显示新页面作为模态窗口。 这不会打开新窗口,用户会保持原样。
模态窗口有大量的javascript插件。 进行Google搜索。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.