Tampermonkey Javascript 使用 window.close() 关闭当前 tab 页

更新日期: 2018-11-28 阅读次数: 3776 分类: Tampermonkey

一个自动化操作的需求,在新的 tab 页完成任务之后,使用 Tampermonkey 关闭这个 tab 页。

在当前最新版 Chrome 版本 70.0.3538.102(正式版本) (64 位)中测试

window.close()
VM750:1 Scripts may close only the windows that were opened by it.

也就说,window.close() 只能关闭由 js 打开的窗口。如果这个窗口不是由 js 打开的,那就没有权限关闭。

function closeTab(){
    window.open('', '_self', '');
    window.close();
} 

Firefox 可以通过更改默认配置来获得关闭 tab 的权限

https://stackoverflow.com/questions/330337/how-do-i-close-a-firefox-tab-from-a-greasemonkey-script

步骤是:

  1. 下载最新版本的 Firefox 63.0.3 (64-bit)
  2. 地址栏输入 about:config
  3. 搜索 dom.allow_scripts_to_close_windows
  4. 设置为 true

现在就可以通过如下代码来关闭 tab 了

function closeTab(){
    window.open('', '_self', '');
    window.close();
} 

在 console 中直接输入 window.close(); 即可确认是否生效。

关于作者

我是来自山东烟台的一名开发者,喜欢瞎折腾,顺便记记笔记。有敢兴趣的话题,欢迎加微信 zhongwei 聊聊。 白天工地搬砖,晚上哄熊孩子,可能回复有点慢,见谅。 查看更多联系方式

相关文章

爱评论不评论

近期节日

2019年12月09日 "一二九"运动纪念日
2019年12月09日 世界足球日
2019年12月10日 世界人权日
2019年12月12日 西安事变纪念日
2019年12月13日 南京大屠杀
2019年12月20日 澳门回归日
2019年12月21日 国际篮球日
2019年12月22日 冬至
2019年12月24日 平安夜
2019年12月25日 圣诞节
查看更多节日