如何绕过chrome的弹窗拦截机制
2017-09-30 00:00
183 查看
摘要: 在chrome的安全机制里面,非用户触发的window.open方法,是会被拦截的。
在chrome的安全机制里面,非用户触发的window.open方法,是会被拦截的。举个例子:
上面的代码中,window.open是用户触发的时候,是不会被拦截的,可以正常打开新窗口。再看下面这个:
上面的代码中,用户没有直接出发window.open,而是发出一个ajax请求,window.open方法被放在了ajax的回调函数里,这样的情况是会被拦截的。
那么,当用户点击按钮,发出ajax请求,如何在ajax请求完成后再打开新窗口,又不被拦截呢? 接着往下看:
上面的代码中,用户安点击按钮的时候,先打开一个空白页,再发ajax请求,在ajax回调里面修改新窗口的.location.href,这样就不会被拦截啦。
在chrome的安全机制里面,非用户触发的window.open方法,是会被拦截的。举个例子:
var btn = $('#btn'); btn.click(function () { //不会被拦截 window.open('http://cssha.com') });
上面的代码中,window.open是用户触发的时候,是不会被拦截的,可以正常打开新窗口。再看下面这个:
var btn = $('#btn'); btn.click(function () { $.ajax({ url: 'ooxx', success: function (url) { //会被拦截 window.open(url); } }) });
上面的代码中,用户没有直接出发window.open,而是发出一个ajax请求,window.open方法被放在了ajax的回调函数里,这样的情况是会被拦截的。
那么,当用户点击按钮,发出ajax请求,如何在ajax请求完成后再打开新窗口,又不被拦截呢? 接着往下看:
var btn = $('#btn'); btn.click(function () { //打开一个不被拦截的新窗口 var newWin = window.open('', '_blank'); $.ajax({ url: '...', success: function (url) { //修改新窗口的url newWin.location.href = url; } }) });
上面的代码中,用户安点击按钮的时候,先打开一个空白页,再发ajax请求,在ajax回调里面修改新窗口的.location.href,这样就不会被拦截啦。
相关文章推荐
- 如何绕过chrome的弹窗拦截机制
- 如何绕过chrome的弹窗拦截机制
- 如何绕过chrome的弹窗拦截机制
- 如何绕过chrome的弹窗拦截机制
- 绕过chrome的弹窗拦截机制
- 如何绕过浏览器的弹窗拦截机制
- Chrome将封杀弹窗广告:未弹出已拦截
- 如何绕过现代Process Hollowing检测机制
- chrome拦截window.open弹窗问题的两种解决方式
- 还用户一片净土:广告自动拦截功能明年登陆Chrome
- 【CSS/JS学习】如何实现单行/多行文本溢出的省略(...)--老司机绕过坑道的正确姿势
- C#-WinForm-弹窗提示框-如何知道用户点击的是哪个按钮?
- 如何使用chrome自带的Javascript调试工具
- 数据库中,什么是事务,可以简述,事务机制如何实现的吗
- Android控件架构与自定义控件详解(四)事件拦截机制分析
- MFC消息映射机制的剖析 讲述如何运用ClassWizard
- Chrome表单自动填充如何取消
- 如何更专业的使用Chrome开发者工具
- Android View - 事件分发,拦截,处理机制