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

更新日期: 2018-11-28 阅读次数: 5578 分类: 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 聊聊。 白天写程序,晚上哄熊孩子,可能回复有点慢,见谅。 查看更多联系方式

相关文章

爱评论不评论

近期节日

2020年08月07日 立秋
2020年08月15日 日本投降日
2020年08月22日 处暑
2020年08月25日 七夕
2020年09月02日 中元节
2020年09月03日 抗日胜利纪念日
2020年09月07日 白露
2020年09月08日 国际扫盲日
2020年09月10日 教师节
2020年09月16日 国际臭氧层保护日
2020年09月16日 世界清洁地球日
2020年09月18日 "九一八"事变纪念日
查看更多节日