您好,欢迎来到知库网。
搜索
您的当前位置:首页window.open窗口被浏览器拦截? 点击元素发ajax请求

window.open窗口被浏览器拦截? 点击元素发ajax请求

来源:知库网

特么坑爹的浏览器

一个按钮被点击应该下载一个文件,可是需要通过服务器动态获取下载地址,拿到地址后,然后调用window.open给我拦截了

然后我这不服输的劲就开始折腾,非得解决掉你不可,然后各种百度,

先尝试了

创建一个a标签然后模拟click一下,测试时候没问题
等上服务器照样给我拦截

然后第二次尝试

这次我创建了一个iframe,反正我是下载文件,应该是可以的把
上服务器之后,结果同上,无语~~~~

然后第三次尝试

这次我创建了一个form表单,我提交表单你应该不会给我拦截了吧
结果同上

这下搞毛我了,我还就不信解决不掉

深入研究,发现浏览器打开窗口或者跳转事件,要被不拦截就需要按钮点击,但是模拟点击浏览器能判断出来,
反正获取下载地址的时候已经点击过一次了,我就想能不能保存这个event变量呢,注意,要保存,全局的没法用
然后用event在模拟一次试试,哈哈,成功!!!刚开始竟然被我写了病毒,打开个不停,好了,不说了,上代码

function aClick(event){
  
}

//(我用的是rapid框架,rapid.getView(event.target)跟JQ的 $(event.target) 差不多的)
function eventDownload(event,url) {
  const aView = rapid.getView(event.target);

  aView.attr('href', url);

  aView.attr('target', '_blank');

  aView.click();

  aView.removeAttr('href');

  aView.attr('target');
};

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

热门图文

Copyright © 2019-2025 zicool.com 版权所有 湘ICP备2023022495号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务