浏览器处于安全策略考虑,只允许Javascript关闭由javascript打开的页面,为了用js关闭当前窗口,我们可以这么考虑,这也是最常用的做法。

<a href="javascript:;" onclick='xx()'>fdsafas</a>
function xx(){// 重置window.opener用来获取打开当前窗口的窗口引用// 这里置为null,避免IE下弹出关闭页面确认框window.opener = null;// JS重写当前页面window.open("", "_self", "");// 顺理成章的关闭当前被重写的窗口window.close();
}

stackoverflow上老外的原文解释:

For security reasons, a window can only be closed in JavaScript if it was opened by JavaScript. In order to close the window, you must open a new window with _self as the target, which will overwrite your current window, and then close that one (which you can do since it was opened via JavaScript).

也附上另外一种解决思路:

window.open('javascript:window.open("", "_self", "");window.close();', '_self');

内嵌的javascript:window.open("", "_self", "");是为了防止IE弹出确认关闭框,等于重置window.opener

FireFox内置支持window.close,但是由于本身的设定,不允许JS自行关闭窗口,所以需要用户手动修改about:config下的dom.allow_scripts_to_close_windows的值为true,再按照上述思路解决问题。

很多情况下用户不会手动去修改FireFox的设置,这里也有个折中的办法,在将"close"的行为变化为"location.href"跳转,仅针对FireFox

function xx(){location.href = "about:blank";
}

综上,JS部分可以修改如下:

var xx = navigator.userAgent.indexOf("Firefox") > -1 ? function(){location.href = "about:blank";}:function(){window.opener = null;window.open("", "_self", "");window.close();};

window.close关闭当前页面相关推荐

  1. window.showModalDialog关闭子页面后刷新父页面

    父页面方法: function addbz(id){         var url="${ctx}/erp/pmDesign/pmDesign/addBZ.ht?id="+id; ...

  2. javascript 跳转页面 关闭当前页面 返回上页面

    //跳转页面 1.window.location.href     //跳转到的页面 2.如何有form  表单的话 document.form[0].action  =  //跳转的action  ...

  3. 使用window.print()后,未关闭打印页面,原网页不能操作

    使用window.print()后,未关闭打印页面,原网页不能操作,此时可以试着用window.location.reload()重新加载页面解决问题. 转载于:https://www.cnblogs ...

  4. a标签跳转后关闭当前页面_微信小程序2020-day-2 导航项目(跳转三种形态)

    day-2 导航项目(跳转三种形态) 转发跳转:保留当前页面,跳转新页面,可返回 重定向跳转:关闭当前页面,跳转,不可返回,不能指定标签导航页面 跳转标签导航:跳转到标签导航页面,标签导航跟随选中 a ...

  5. h5页 点击返回时关闭_在微信、支付宝、百度钱包实现点击返回按钮关闭当前页面和窗口...

    最近在使用微信.支付宝.百度钱包实现网页支付,对支付成功将自动关闭页面,对于支付失败,将显示错误信息.当在错误页面的时候,点击返回 或者Android物理按键上一步的时候,将关闭页面. 在微信.支付宝 ...

  6. JAVA怎么实现网页退出系统_java后台实现js关闭本页面,父页面指定跳转或刷新操作...

    关闭本页面,跳转到百度 response.setCharacterEncoding("gbk"); PrintWriter out=response.getWriter(); ou ...

  7. JS事件 卸载事件 当用户退出页面时(页面关闭、页面刷新等),触发onUnload事件,同时执行被调用的程序。注意:不同浏览器对onunload事件支持不同。...

    卸载事件(onunload) 当用户退出页面时(页面关闭.页面刷新等),触发onUnload事件,同时执行被调用的程序. 注意:不同浏览器对onunload事件支持不同. 如下代码,当退出页面时,弹出 ...

  8. js关闭当前页面窗口的问题

    有两种情况,如果当前页面窗口是由js代码打开的,那么可以直接用js关闭该窗口 如: window.close(); 如果该页面是由用户输入地址直接进去的,直接close是会无效的,此时需要这样做: w ...

  9. JS返回前一页(或关闭本页面,返回首页)

    navigator.userAgent在判断浏览器版本时,需要自己核对下,不同的浏览器返回的window.history.length值也不同,需要特殊情况特殊处理,但核心逻辑就是如此,先判断浏览器版 ...

最新文章

  1. 教程 | 基于LSTM实现手写数字识别
  2. python使用imbalanced-learn的RandomUnderSampler方法进行下采样处理数据不平衡问题
  3. Weblogic java.lang.OutOfMemoryError: PermGen space
  4. day06:02oracle体系结构_存储结构
  5. [分享]极富挑战性的大公司面试的智力题
  6. 阿里云将增设马来西亚数据中心 中国技术获赞
  7. OnItemClickListener,OnScrollListener应用
  8. 【工作经验分享】这些新技术你们都知道吗
  9. Python 实现网络爬虫小程序
  10. 使用IDEA在引入Schema空间时报错URI is not registered解决方法
  11. 清理SharePoint 2010的SQL Server 2008 R2日志数据库的方法
  12. 注册测绘师成绩查询,2020注册测绘师成绩公布
  13. .NET Framework 4.6.1包和语言包下载
  14. Linux权限设置方法
  15. 台式计算机显示器发蓝,电脑显示器发蓝怎么办
  16. 拓扑容差如何修改_如何在CAD中通过设置容差参数对多段线进行自动修复重构
  17. VBS 请求WebAPI接口_如何设计WEB API
  18. 海康威视2022 校招/社招/实习 内推WHM8BQ
  19. 过拟合的原因和解决方法
  20. 前端技能树,面试复习第 1 天—— 建立前端知识框架 | HTML 知识考察点

热门文章

  1. 微信授权登录(java实现)
  2. 搭建文件服务器MinIO,快速上手使用
  3. C#(Csharp)基础教程(中)(菜鸟教程笔记)
  4. 揭秘相亲类小程序玩法独家
  5. NLP5:NLTK词性标注
  6. 找不到d3dx9_36.dll解决方法
  7. 环信WebIM 超详细教程01:点对点单聊
  8. MDM软件之SAP Afaria试用印象
  9. 小米3基于android,小米手机3评测 最大最快的小米3详细评测图文介绍
  10. 在线教育网站源码教学视频加速的解决方案