首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检查窗口关闭可用

检查窗口关闭可用
EN

Stack Overflow用户
提问于 2017-08-17 10:20:02
回答 3查看 76关注 0票数 1

如果我们不打开窗口,我们就不能关闭浏览器窗口。关于这一点的更多信息,请看https://developer.mozilla.org/en-US/docs/Web/API/Window/close

我想检查关闭选项是可用的或有效的。我想对旧浏览器使用此选项。我不想检查浏览器版本,但使用更聪明的条件。我想要的行为是:

  • 如果此事件可用,请运行并关闭窗口
  • 如果不可用,则显示消息和隐藏按钮

我要在载入页面后检查一下。

我怎么能这么做?

EN

回答 3

Stack Overflow用户

发布于 2017-08-17 10:23:42

检查一下window.opener。

代码语言:javascript
运行
复制
if(window.opener !== null) //it was opened by JS, so you can close it
票数 1
EN

Stack Overflow用户

发布于 2017-08-17 10:24:40

您不必检查窗口是否由Javascript打开。根据我的经验,浏览器在试图关闭窗口时从不出错。所以就写这样的东西吧:

代码语言:javascript
运行
复制
window.close(); 
// If it worked, the next statement will never execute.
// Else,
setTimeout(function() {
    alert("Please close the window!");
}, 1);

在这里,setTimeout确保在alert语句之前执行window.close

当然,如果浏览器决定在将来抛出异常,可以将window.close()封装在try...catch中以避免出现问题。

票数 1
EN

Stack Overflow用户

发布于 2017-08-17 10:30:42

只需调用window.close()就可以关闭窗口。我们可以检查窗口是否关闭,是否使用window.closed

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45732484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档