解决window.open浏览器拦截的办法
来源:互联网 发布:ubnt设置网络唤醒 编辑:程序博客网 时间:2024/06/06 14:01
目前很多文章对于浏览器拦截,都用js里新建个a标签,taregt设置为"_blank"的方法,然后模拟用户click点击。
实际实验,此方法并不可行,依然会被拦截。
经实验后发现,如果一个button直接调用window.open,并不会触发浏览器的拦截操作。
例如:
$(".canView").click(function(){
var _this = $(this);
window.open(path); 此处可成功
})
但是,如果和后台交互后(例如ajax去校验参数),再window.open浏览器会认为是恶意链接,从而阻止。
例如:
$(".canModify").click(function(){
ajaxInSameDomain(url, "regStatus=06&supplierInfoId=" + _this.attr("cz"), 'POST', function(data){
if (data.mark == "success") {
window.open(path); //此处会拦截,因为之前有ajax请求和后台交互过。
}else if(data.mark == "hasStop"){
return;
}
}, null);
});
解决办法:
在没有ajax调用前先开一个空白页,调用后将这个空白页内容刷新为要打开的页面。
$(".canModify").click(function(){
var test01 = window.open(); //此处不会拦截
ajaxInSameDomain(url, "regStatus=06&supplierInfoId=" + _this.attr("cz"), 'POST', function(data){
if (data.mark == "success") {
path=需要弹出的页面URL;
test01.location = path;//此处会将弹出的页面内容刷新为原先需要弹出页面的内容,从而绕过拦截
}else if(data.mark == "hasStop"){
return;
}
}, null);
});
- 解决window.open浏览器拦截的办法
- window.open 浏览器拦截解决
- 解决window.open被浏览器拦截的问题
- window.open()被浏览器拦截的问题
- window.open被浏览器拦截的解决方案
- window.open被浏览器拦截
- window.open关于浏览器拦截问题
- ajax回调时浏览器拦截window.open()
- 解决回车弹出新页面及弹新页面时被浏览器拦截window.open方法
- 如何防止window.open打开的弹出窗口被浏览器拦截
- js window.open新打开窗口总是被浏览器拦截的问题
- 解决弹出的窗口window.open会被浏览器阻止的问题(自定义open方法)
- window.open()方法打开新的一页不被浏览器拦截
- window.open关于浏览器拦截问题分析及解决方法
- ajax请求里面调用window.open会被浏览器拦截
- window.open() 被拦截后的分析
- window.open() 被拦截后的分析
- chrome拦截window.open弹窗问题的两种解决方式
- IOS动效设计
- Docker端口映射实现网络访问
- Codeforce 题目429B Working out
- 布局
- 14级组队赛第一场3319 A simple water problem
- 解决window.open浏览器拦截的办法
- 第3周项目2 - 建设“顺序表”算法库(2)
- 45 个非常有用的 Oracle 查询语句
- 【linux网络编程】网络字节序、地址转换
- 宏拼接
- Hello JSP!——application对象
- C++析构函数为什么要为虚函数
- 利用Proxy Cache使Nginx对静态资源进行缓存
- hdoj-1215-七夕节【分解素因子+组合】