首页 >> js开发 >> js探索浏览器页面关闭window.close()的使用详解js大全
js探索浏览器页面关闭window.close()的使用详解js大全
发布时间: 2021年1月13日 | 浏览:
| 分类:js开发
说起来window.close(),这也是个“不太让人省心”的角色。因为浏览器兼容性千差万别,还对他有诸多限制。使用语法:
window.close()
window.close()场景复现场景复现场景复现昨天发现有人在csdn上传违禁文件,举报后来到了这个页面:
里面那个按钮发现点击无效!
就。。。当时就挺尴尬的。不过既然它说是【关闭】,当时就想到了这个堪称“漏洞百出”的close事件,F12打开控制台一看:果不其然
看到这顿时就来了兴趣探索过程和解决方案探索过程和解决方案探索过程和解决方案为什么就突然来了兴趣呢?
首先,从这行代码中可以看出:这个页面不是通过 window.open() “打开”的 —— MDN文档中有说明:不是通过window.open()方法打开的窗口不能(直接)使用close进行关闭 (以前这条是针对Firefox的策略)window.open()显然,csdn这位工程师也看过文档,所以想用【在本页面打开空白页,然后再强行关闭】的“取巧”方法。但我不知道当时是怎么测试的,还是说后来浏览器又加的限制,这行代码在本文所写时显然在所有浏览器上都不能执行!现在让我通过语法解释一下上面的代码:
//摘自:MDN
var window = window.open(url,windowName,[windowFeatures]);
//摘自:MDN
var window = window.open(url,windowName,[windowFeatures]);
方法明确指出三个参数,第三个参数一般用于在“弹出框页面”处理长宽限制,和我们当前的问题没有关系,我们就不再考虑。MDN对url参数进行了说明,这个参数可以是个路径,可以是个页面/图片/其他浏览器支持类型的资源的地址, 如果参数1你写空串,会在指定的上下文环境中创建一个空页面
我们看第二个参数windowName, 这个参数表示 你要指定资源在哪个窗口打开 ,如果你指定的窗口不存在,浏览器会创建一个新的窗口,并把这个窗口的window对象命名为windowName(可以通过window.name获取到),值得注意的是,这并不是这个窗口的【title】,当你在别处使用或
window.close()
window.close()场景复现场景复现场景复现昨天发现有人在csdn上传违禁文件,举报后来到了这个页面:
里面那个按钮发现点击无效!
就。。。当时就挺尴尬的。不过既然它说是【关闭】,当时就想到了这个堪称“漏洞百出”的close事件,F12打开控制台一看:果不其然
看到这顿时就来了兴趣探索过程和解决方案探索过程和解决方案探索过程和解决方案为什么就突然来了兴趣呢?
首先,从这行代码中可以看出:这个页面不是通过 window.open() “打开”的 —— MDN文档中有说明:不是通过window.open()方法打开的窗口不能(直接)使用close进行关闭 (以前这条是针对Firefox的策略)window.open()显然,csdn这位工程师也看过文档,所以想用【在本页面打开空白页,然后再强行关闭】的“取巧”方法。但我不知道当时是怎么测试的,还是说后来浏览器又加的限制,这行代码在本文所写时显然在所有浏览器上都不能执行!现在让我通过语法解释一下上面的代码:
//摘自:MDN
var window = window.open(url,windowName,[windowFeatures]);
//摘自:MDN
var window = window.open(url,windowName,[windowFeatures]);
方法明确指出三个参数,第三个参数一般用于在“弹出框页面”处理长宽限制,和我们当前的问题没有关系,我们就不再考虑。MDN对url参数进行了说明,这个参数可以是个路径,可以是个页面/图片/其他浏览器支持类型的资源的地址, 如果参数1你写空串,会在指定的上下文环境中创建一个空页面
我们看第二个参数windowName, 这个参数表示 你要指定资源在哪个窗口打开 ,如果你指定的窗口不存在,浏览器会创建一个新的窗口,并把这个窗口的window对象命名为windowName(可以通过window.name获取到),值得注意的是,这并不是这个窗口的【title】,当你在别处使用或
相关文章:
- js解决nuxt页面中mounted、created、watch执行两遍的问题js大全
- js如何实现小程序与小程序之间的跳转js大全
- jsArray.filter中如何正确使用Asyncjs大全
- jsnuxt 服务器渲染动态设置 title和seo关键字的操作js大全
- js解决vue项目中遇到 Cannot find module ‘chalk‘ 报错的问题js大全
- jsvant组件中 dialog的确认按钮的回调事件操作js大全
- jsNuxt 项目性能优化调研分析js大全
- js微信小程序实现自定义动画弹框/提示框的方法实例js大全
- js微信小程序自定义tabBar的踩坑实践记录js大全
- JavaScript工作中常用js功能汇总