我有 MyPage.aspx html 页面(使用 ASP.Net 生成)。当用户试图离开这个页面时,我需要关闭窗口——用户应该不能返回或导航到另一个页面。
当我在 window.onbeforeunload 事件中使用 window.close() 时,它会要求用户确认。“您正在查看的网页正在尝试关闭窗口。你要关窗吗?” 单击“否”后,用户可以逃避关闭尝试。有没有办法在不给用户选项的情况下强行关闭窗口?
参考:
我有 MyPage.aspx html 页面(使用 ASP.Net 生成)。当用户试图离开这个页面时,我需要关闭窗口——用户应该不能返回或导航到另一个页面。
当我在 window.onbeforeunload 事件中使用 window.close() 时,它会要求用户确认。“您正在查看的网页正在尝试关闭窗口。你要关窗吗?” 单击“否”后,用户可以逃避关闭尝试。有没有办法在不给用户选项的情况下强行关闭窗口?
参考:
您可以像这样“欺骗”浏览器:
window.onbeforeunload = function() {
window.open('', '_self', '');
window.close();
}
它似乎在 chrome/safari/ie/ff 中工作:http: //jsbin.com/olijig/1
Firefox 似乎很顽固,但在 FF 中可能还有另一种方法可以做到这一点。
我可能应该说这种技术绝不是标准的,我根本不推荐它,而且这段代码可能会在许多浏览器中中断除了火狐.
更新
它实际上也适用于 Firefox(最新版本),但不适用于旧版本(我试过 3.6.1)。您需要进行更多测试以确认浏览器兼容性。
不,你不能。用户必须始终能够控制浏览器中发生的任何事情。
我对此并不肯定,但我相信如果您有一个窗口打开另一个窗口,则父窗口可以关闭该子窗口。有一个登陆页面在单独的窗口中打开您的应用程序然后可以通过javascript关闭窗口是否可行?可能有人可以详细说明,因为我自己没有这样做。