上一篇文章《在浏览器新窗口中打开的几种方式》介绍了在浏览器中打开新窗口的一些场景,但没有提到在浏览器中打开新窗口时会遇到弹窗被拦截(或阻止)的情况。
本篇文章将从浏览器弹窗拦截(或阻止)机制的原理、按步骤重现浏览器弹窗被拦截的场景以及实现如何绕过浏览器弹窗拦截。
弹窗拦截的机制
浏览器安全机制中,页面弹窗,_必须是在用户触发的,才算合法弹窗_;由ajax 或定时执行的弹窗均为非用户触发。会被浏览器或相关安全软件理解为广告被拦截掉;
弹窗拦截的场景
通过点击(ajax)获取后端返回的参数,其中部分参数会在在打开新窗口中进行页面跳转时使用。例如:自动登录(单点登录)、文件下载(权限控制)等等。