浏览器弹窗拦截机制解剖

浏览器弹窗拦截机制解剖

上一篇文章《在浏览器新窗口中打开的几种方式》介绍了在浏览器中打开新窗口的一些场景,但没有提到在浏览器中打开新窗口时会遇到弹窗被拦截(或阻止)的情况。

本篇文章将从浏览器弹窗拦截(或阻止)机制的原理、按步骤重现浏览器弹窗被拦截的场景以及实现如何绕过浏览器弹窗拦截。

弹窗拦截的机制

浏览器安全机制中,页面弹窗,_必须是在用户触发的,才算合法弹窗_;由ajax 或定时执行的弹窗均为非用户触发。会被浏览器或相关安全软件理解为广告被拦截掉;

弹窗拦截的场景

通过点击(ajax)获取后端返回的参数,其中部分参数会在在打开新窗口中进行页面跳转时使用。例如:自动登录(单点登录)、文件下载(权限控制)等等。

阅读更多
在浏览器新窗口中打开的几种方式

在浏览器新窗口中打开的几种方式

场景

在前端业务开发过程中,需要从浏览器新窗口中打开的场景其实也有很多,下面一起来看看,实际应用场景,如下:

1、访问网站内部链接在本窗口打开,访问网站外部链接在新窗口打开

html:

1
// 内部链接地址,本窗口跳转 <a href="//www.hanyi.pro/blog/about">关于我</a>
1
2
// 外部链接地址,新窗口打开
<a href="https://github.com/hxrealm" target="_blank">Github</a>

2、站内搜索,将表单数据提交到新窗口中查询

html:

1
2
3
4
<form method="GET" action="http://www.baidu.com/s" target="_blank">
<input type="text" name="wd" value="hxrealm" />
<input type="submit" name="search" value="submit" />
</form>
阅读更多