最近开发过程中 需要进行接口认证 才能打开新窗口的需求 代码如下

          // getMatchBase(.....).then(//   result => { //      win.open('/matchDetail.html?id=' + matchId);//   },//   error => {//     .......//      win.close();//   }// )

浏览器只有在认为click和submit在打开新窗口时(如果是_self则不会有此限制),这些操作是由用户主动触发时才是安全可以被执行,而ajax回调函数中去执行click和submit被浏览器认为不是由用户主动触发的,因此不能被安全执行,所以被拦截。

但是 由于异步操作的原因,浏览器会因为安全因素拦截,造成用户体验不好,目前为止我找到的靠谱的解决方法如下

将ajax请求设置为同步,

          $.ajax({url: ,data:{  }, async:false,complete: function(data){if(data.readyState == 4 && data.status == 200) {window.open('/matchDetail.html?id=' + matchId);} else {}}});

供大家参考。

转载于:https://www.cnblogs.com/lisiyang/p/8432571.html

js 异步操作打开新页面被浏览器拦截的问题相关推荐

  1. js在打开新页面的时候用新的标签页打开并且在关闭打开的页面的时候刷新父页面的方法...

    js在打开新页面的时候用新的标签页打开并且在关闭打开的页面的时候刷新父页面的方法 1.利用window.opener.location.href这个方法. 方式:父页面 window.open('.. ...

  2. window.open打开新窗口被浏览器拦截的处理方法

    一般我们在打开页面的时候, 最常用的就是用<a>标签,如果是新窗口打开就价格target="_blank"属性就可以了, 如果只是刷新当前页面就用window.loca ...

  3. vue 路由跳转打开新窗口(被浏览器拦截)

    今天做了一个功能是点击按钮路由跳转打开新的窗口页面 第一种方法 <router-link target="_blank" :to="{path:'/FundMang ...

  4. ajax回调打开新窗体防止浏览器拦截方法

    2019独角兽企业重金招聘Python工程师标准>>> 问题剖析: function click_fun(){ window.open("www.baidu.com&quo ...

  5. 基于vue,解决打开新窗口被浏览器拦截的问题

    首先,我们先来说一下在什么情况下,新窗口会被阻截,以及阻截的原因. 当使用 window.open(url,"_blank")打开新窗口时,如果url是通过ajax从后台获取 到的 ...

  6. ajax打开新窗口被浏览器拦截的解决办法

    最近在做支付时发现打开支付窗口时被浏览器拦截了,百度了一下才发现是因为打开窗口前用ajax验证是否能支付,所以不是用户主动触发的打开ixin窗口,浏览器认为这样不安全,所以给拦截了. 解决办法一 先开 ...

  7. window.open()打开新窗口被浏览器拦截

    原因:在浏览器的安全机制里面,非用户触发的window.open方法,是会被拦截的. 经过实际测试,Chrome.IE不会拦截,FireFox会拦截. //不会被拦截 $('#btn').click( ...

  8. Ajax提交打开新窗口,浏览器拦截处理;以及跨域问题

    //主要是添加同步处理 $.ajax({url: "ashx/OrderHander.ashx?action=CheckRepeat",data: { "OrderId& ...

  9. ajax无法open,ajax中打开新页面使用window.open方法被拦截的解决方法

    $('.testA').unbind('click').bind('click',function(){ var result=""; $.ajax({ url:'http://l ...

最新文章

  1. Spring-boot国际化
  2. Panabit安装测试小结
  3. python 爬虫ip代理
  4. springboot websocket发送和接收消息代码资源下载
  5. LeetCode算法入门- Multiply Strings -day18
  6. 马化腾说话都不好使了?腾讯上线匿名社交APP,升级版漂流瓶?
  7. 中年人需要写个遗嘱吗?
  8. HDU2012 素数判定【入门】
  9. 21秋期末考试工程项目管理10324k2
  10. 解决Selenium2Library 导入报错问题
  11. 《大型网站技术架构:核心原理与案例分析李智慧》pdf版电子书网盘附下载链接+仪式感技术书阅读法
  12. paip 突破 网站 手机 验证码 的 破解 总结
  13. 当前服务器系统内核版本是多少,linux下如何查看系统和内核版本
  14. [转]ISE中如何将自己的verilog源代码.v或VHDL源代码.vhd封装打包成IP核?
  15. 【vue+Element】 el-table根据换行符(回车)换行
  16. 给我来一段Python求素数
  17. 怎么样让别人访问我的计算机,局域网内怎么让别人访问我的电脑
  18. 数据库的主要设计步骤
  19. 生活随记 - 南极洲探险队的思考
  20. I2C专题(二)—— STM32驱动AT24C02

热门文章

  1. 和程序员在一起是怎样的体验
  2. Google 都在用的 6 个休息小技巧,让你工作效率翻倍
  3. 2015年第六届蓝桥杯 - 省赛 - C/C++大学A组 - A. 方程整数解
  4. 十六进制的几种输出方式
  5. seer文献_文献解读 | 师兄带你读一篇免疫浸润3分文章!
  6. java异常处理试题答案_JAVA异常处理试题及答案
  7. python迭代器和生成器_Python之迭代器和生成器
  8. 项目奖金一般有多少_全年一次性奖金如何进行纳税筹划?
  9. python绘制正态分布函数_学好正态分布有多重要?
  10. C代码+汇编 C的 函数汇编学习分析 rep stos dword ptr [edi]