BOM引导——浏览器屏蔽弹出窗口的办法以及检查是否屏蔽的方法。
大多数的浏览器都内置有弹出窗口屏蔽程序。而没有内置此类程序的浏览器,也可以通过安装Yahoo!Toolbar等带有内置屏蔽程序的实用工具。这样做的结果就是用户可以将绝大多数不想看到的弹出窗口屏蔽掉。
于是,在弹出窗口被屏蔽时,就应该考虑两种情况。
如果是浏览器内置程序屏蔽了弹出窗口,那么 window.open() 很可能返回Null。
只要检测这个返回值就能确定弹出窗口是否被屏蔽。如下:
var wroxWin = window.open("http://www.wrox.com","_blank");if (wroxWin == null){alert('屏蔽了弹出窗') }
如果是浏览器扩展或者插件进行组织窗口弹出,那么window.open()通常会抛出异常,因此,需要将代码放到try-catch里面。如下:
var blocked = false;try{var wroxWin = window.open("http://www.wrox.com","_blank");if (wroxWin == null){blocked = true;}catch(ex){blocked = true;}}if(blocked){alert("屏蔽了弹出窗") }
在任何情况下,以上代码都能检测出调用 window.open() 打开的弹出窗是否被屏蔽。但需要注意的是,检测弹出窗口是否被屏蔽是一方面,他并不会阻止浏览器显示与被屏蔽的弹出窗口有关的消息。
BOM引导——浏览器屏蔽弹出窗口的办法以及检查是否屏蔽的方法。相关推荐
- Angular2项目中浏览器拦截弹出窗口的解决方法
Angular2项目中浏览器拦截弹出窗口的解决方法 为什么把项目是Angular2的放到了前边? 因为正常也页面网上已经很多解决方案.请自行百度或Google. 现象:当window.open为用户触 ...
- 解决浏览器拦截弹出窗口问题
解决浏览器拦截弹出窗口问题 参考文章: (1)解决浏览器拦截弹出窗口问题 (2)https://www.cnblogs.com/goloving/p/9721210.html 备忘一下.
- 关于浏览器拦截弹出窗口问题的解决方法
关于浏览器拦截弹出窗口问题的解决方法 正常对于浏览器新开窗口有三种方式 1.html里a标签的target属性 2.javascript的window.open()方法 3.html里form表单的t ...
- php屏蔽弹出窗口,可以不被浏览器拦截的弹出窗口JS代码
转载: 一个强制弹出窗口的JavaScript类:ForceWindow 一个可以不被广告拦截器拦截的弹出窗口 ForceWindow.iclass.js代码如下(使用.讲解.相关说明全部在注释中): ...
- python selenium 处理弹窗_python 让selenium(webdriver ) 不打开浏览器(弹出窗口)运行(静默模式启动)...
什么是 Headless Chrome Headless Chrome 是 Chrome 浏览器的无界面形态,可以在不打开浏览器的前提下,使用所有 Chrome 支持的特性运行你的程序.相比于现代浏览 ...
- window.open() 某些情况会被浏览器阻止弹出窗口
window.open() 的作用是创建一个新的浏览器窗口用来打开相关的资源,这是一个原生的 Javascript API 接口.有关 window.open() 的基本使用可以参考 mozilla ...
- window.open() 某些情况会被浏览器阻止弹出窗口及解决办法
window.open() 的作用是创建一个新的浏览器窗口用来打开相关的资源,这是一个原生的 Javascript API 接口. 有关 window.open() 的基本使用可以参考 mozilla ...
- 浏览器拦截弹出窗口 IE Firefox……浏览器
2019独角兽企业重金招聘Python工程师标准>>> 如果您需要在弹出新窗口一次,可用代码: <form id="openWin" action=&quo ...
- 如何解决浏览器弹出窗口的拦截
问题 有时候在开发业务时,由于产品体验,要求自动打开新窗口,而不希望用户手动点击. 直接在代码中执行: window.open('http://www.baidu.com') 是会被浏览器拦截的,浏览 ...
最新文章
- 学习数据科学、机器学习与AI没有多大交集,一文告诉你三者最大区别
- ASP.Net定时任务执行
- C语言经典例71-编写函数输出结构体数据
- 25 linux ndk 头文件_正点原子Linux第二十五章RTC实时时钟实验
- CF1580C Train Maintenance(分块)
- 大数据学习要知道的十大发展趋势,以及学习大数据的几点建议
- GitHub.com上的那些东西你都知道什么意思吗?
- TensorFolw 报错
- ios 图片居中裁剪_[ iOS Shortcuts / Workflow ] 分享一个给照片批量加「底部居中偏上」水印的捷径,可适应不同水印的尺寸...
- MySQL CAST与CONVERT 函数的用法
- java.util.enummap_java.util.EnumMap.clone()方法实例
- C++编程问题--注意指针参数的传递
- linux变utf8为sjis命令,【通译】PHP中 文字编码变换时 使用SJIS-win而非SJIS,使用eucJP-win而非EUC-JP...
- python wget_python wget下载文件处理的一些问题
- 手机软件设计大赛报名信息
- 我在上海奋斗五年 从月薪3500到700万
- apicloud菜鸟教程_APICloud 对象之 Method
- 为什么网上都说 AirPods 3 音质不如AirPods Pro?
- Python可视化|matplotlib05-绘图风格大全
- SAP S4 FI后台详细配置教程- PART5 (应收帐目和应付帐目配置篇)
热门文章
- Mac 下导出ANR错误日志
- 隧道内车辆精确定位方案
- 第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-936 砝码称重
- 摄影测量实习空中三角测量_摄影测量入门:Photoscan
- 新财报不及预期股价盘后大跌11%,腾讯音乐为何会失算?
- Python learning- Loops and Iteration Strings Reading Files
- linux卸载软件maven,linux/mac下一键删除下载失败的maven jar包
- python做生存分析
- jango-简单的mixin扩展类
- VS Code代码高亮颜色设置