为了账号安全,请及时绑定邮箱和手机立即绑定

关闭和自动关闭不关闭Chrome中的窗口

关闭和自动关闭不关闭Chrome中的窗口

元芳怎么了 2019-05-31 11:16:36
关闭和自动关闭不关闭Chrome中的窗口问题是当我调用window.close()或self.close()它不能关上窗户。现在似乎有人相信,在Chrome中,任何不是脚本创建的窗口都不能通过脚本关闭。这显然是错误的,但不管它是否应该仍然这样做,即使它需要弹出一个警报来确认。这些都不会发生。那么,是否有人有真正的、实用的、行之有效的关闭窗口的方法,比如javascript:window.close()或javascript:self.close()这实际上做了预期的事情,并且在每一个不是基于Chrome的浏览器上都发生了很好的事情?任何建议都将不胜感激,我正在寻找Javascript特定的解决方案,而不是JQuery或第三方实现。最新情况:虽然许多建议都有严重的局限性和可用性问题,但最新的建议(特定于TamperMonkey)使用// @grant        window.close在脚本中,即使在那些通常无法处理Close方法的选项卡上,标头也经常会执行此操作。虽然不是完全理想的,也不是每一种情况,但在我的情况下,它是一个很好的解决方案。
查看完整描述

3 回答

?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

Chrome修复了36.0.1985.125版的安全问题

从我的观察来看,这个更新解决了使用window.close()关闭弹出窗口。当控制台失败时,您将在控制台中看到这一点,“脚本只能关闭它打开的窗口。”这意味着令人讨厌的解决办法(布罗克·亚当斯的回答)可能不起作用在最新的版本中。

因此,在之前发布的Chrome版本中,下面的代码块可能工作,但与此更新没有关系。

window.open('', '_self', '');window.close();

对于此更新,您必须相应地更新代码以关闭弹出窗口。解决方案之一是获取弹出窗口id并使用

chrome.windows.remove(integer windowId, function callback)

方法来移除它。我不得不更新我的代码,以使它为这个Chrome更新工作。顺便说一句,MarkView是读写AweseMarkdown文件的工具,它提供了包括内容大纲、可排序表和带有行号的代码块语法高亮的功能。



查看完整回答
反对 回复 2019-05-31
?
慕村9548890

TA贡献1884条经验 获得超4个赞

现在你可以用

// @grant        window.close

然后简单的打电话

window.close();


查看完整回答
反对 回复 2019-05-31
  • 3 回答
  • 0 关注
  • 1269 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号