前言

最近在使用 window.close() 的时候碰到一个问题,有些窗口可以关闭而有些窗口无法关闭且会出现一个警告且。具体如下

Scripts may close only the windows that were opened by them. // window.close方法只能关闭使用window.open方法打开的窗口

经过一番翻译和百度后得到的答案

//第一种形式
window.opener = null;
const win = window.open('', '_self');
win.close();
top.close()//第2种方式
window.location.href = "about:blank";
window.close();// 总结
function closeTab() {if (navigator.userAgent.indexOf("MSIE") > 0) {if (navigator.userAgent.indexOf("MSIE 6.0") > 0) {window.opener = nullwindow.close()} else {window.open("", "_top")window.top.close()}} else if (navigator.userAgent.indexOf("Firefox") > 0) {window.location.href = "about:blank"} else {window.opener = nullwindow.open("", "_self", "")window.close()}
}

上面的答案在控制台测试后,发现仍然不行,仍然会出现下面的提示

Scripts may close only the windows that were opened by them. // window.close方法只能关闭使用window.open方法打开的窗口

mdn 上对window.close的解释

经过查询 mdn 后发现,window.cloes方法只能关闭由 Window.open() 方法打开的窗口的 window 对象来调用。如果一个窗口不是由脚本打开的,那么,在调用该方法时,JavaScript 控制台会出现类似上面的错误。

一个简单的例子:

// pageA
const pageA = window.open('b.htm');
pageA.close(); // 这样即可关闭上面打开的窗口// 在打开的窗口关闭 pageB
window.close();

其它

目前没有找到好的js方法去关闭直接打开的窗口,如果哪位有好的方案,欢迎随时评论。

使用window.close()关闭标签页的注意事项相关推荐

  1. IDEA中设置关闭标签页的快捷键

    更改设置关闭标签页的快捷键(idea中原来是Ctrl + F4) 单击左上角File,找到Settings并点击.(当然也可以直接Alt+Ctrl+s) 点击Keymap,然后依次是Main menu ...

  2. chrome快速关闭标签页_将Google Chrome的“新标签页”替换为快速拨号

    chrome快速关闭标签页 Are you looking for a good alternative to the New Tab Page in Google Chrome? Then you ...

  3. APP界面引导页设计注意事项

    海淘科技与你分享<APP界面引导页设计注意事项> 一.什么内容需要引导 1. 产品特色 展示产品的核心竞争力及最有特色的点,让用户清晰地了解该产品和同类产品相比最突出的优势,有一个良好的第 ...

  4. php获取落地页的信息,信息流广告落地页如何设计?落地页落地页设计注意事项...

    信息流广告落地页如何设计?落地页落地页设计注意事项 信息流广告优化师都有可能遇到这个问题:转化差-被老板骂-工资低 所以,今天咱就来聊一聊"如何正确地提升转化效果". 什么是着陆页 ...

  5. 【selenium标签页操作】:关闭标签页

    代码如下: from selenium import webdriverchrome_driver_file = r'C:\chromedriver.exe' b = webdriver.Chrome ...

  6. 2021-08-12:浏览器使用window.open 新页签被拦截的问题

    前端关于在使用 window.open 打开新页面时会被部分浏览器拦截的问题 背景 解决方案 一: 二: 结束语 背景 通常我们想要打开一个新页签来展现一个页面时,一般会使用 a 标签 或者 wind ...

  7. window.print 添加页眉页脚

    代码 <!DOCTYPE html> <html><head><link rel="stylesheet" href="styl ...

  8. window.print()去掉页眉页脚及网址链接

    //打印(兼容IE浏览器) function webPrint(objId){ var printContent=document.getElementById(objId).innerHTML;// ...

  9. 开启火狐浏览器 Firefox 原生「双击关闭标签页」功能

    虽然Firefox如今的用户量越来越少,但是大部分的linux系统,就比如Ubuntu中自带的浏览器就算他,所以为了方便使用,要对其进行一些优化 之前我一直使用的是QQ浏览器,我承认他内核有点老,功能 ...

  10. js 打印去掉页眉页脚页码_JavaScript_javascript实现window.print()去除页眉页脚,打印时去除页眉页页脚 打印前 - phpStudy...

    \\Software\\Microsoft\\Internet Explorer\\PageSetup\\"; var head,foot,top,bottom,left,right; va ...

最新文章

  1. mac mysql 安装日志_Mac 安装 MySQL
  2. python方向键键值_Python实现的字典排序操作示例【按键名key与键值value排序】
  3. 基于Docker的Consul服务发现集群搭建
  4. 并发编程(十六)——java7 深入并发包 ConcurrentHashMap 源码解析
  5. Linux下的tree命令 --Linux下目录树查看
  6. nrm : 无法加载文件 C:\Users\hc\AppData\Roaming\npm\nrm.ps1 ,因为在此系统上禁止运行脚本。
  7. APP价格标签页面设计灵感!明码标价!
  8. 一年5个孵化项目来自于中国,佛系Apache如何帮助中国开源立足全球?
  9. 云服务器架设网站教程_阿里云服务器购买流程详细教程及注意事项
  10. 刚刚,贺建奎回应一切:如果是我孩子,我会第一个去试验
  11. 系统架构师复习-操作系统
  12. ubuntu 、emacs中使用翻译功能
  13. 易优cms eyoucms登陆后台提示验证码错误
  14. vivado sata ip (phy)配置
  15. 沉默成本谬误_估计与沉没成本谬误
  16. Macbook 删除被锁定的应用
  17. IPFS如何冲击我们熟知的网络世界
  18. 【Spring笔记--全面版】
  19. java计算算术表达式
  20. 中国各省份官方报纸数据

热门文章

  1. NepCTF2022
  2. Protecting Against DNN Model Stealing Attacks 论文阅读心得
  3. 你想要的宏基因组-微生物组知识全在这(1905)
  4. 显卡属于计算机主机还是外设,计算机硬件组成及作用有哪些
  5. mysql client_multi_statements_MySQL中CLIENT_MULTI_STATEMENTS的用法
  6. 前端新手遇到的问题 ---含“ 文字贯穿线、@font-face、axios ”知识
  7. java size属性_Java中的长度length、length()、size()
  8. 编辑chm格式的文档
  9. 组态王报警历史存MySQL_组态王6.55报警存储与历史数据查询设置全过程
  10. 简化工作和生活的 7 个在线地图制作平台分享