zoukankan      html  css  js  c++  java
  • window.open()被拦截问题

        最近做项目的时候遇到一个需求,在商品详情页面中点击购买按钮,之后再新标签页中打开生成的订单页面,所以想用window.open()来实现。但是测试的时候发现打开的链接被浏览器拦截。

        之后,开始在网上查找解决方案,看到最常用的一个是新建一个a标签,模拟点击测试,多次测试后发现并没有用。然后又尝试了几个其他常见的方法,还是都会被拦截。

        然后,发现window.open()拦截是有条件的。一般通过用户的点击事件触发的在新标签页中打开链接,浏览器是不会拦截的,因为这种形式打开新窗口浏览器会认为是用户自己需要的。

        在我的项目中,是需要在ajax异步请求成功后需要在新窗口中打开返回的url地址,使用window.open()会被拦截,因为这种情况下浏览器认为该操作不是用户主动触发的,所以会拦截。

        解决办法:

          ajax请求由异步改为同步。(async:false)   (测试有效)。

  • 相关阅读:
    从温设计模式
    php pdf转图片
    PHP 微服务集群搭建
    死磕nginx系列--nginx 限流配置
    分别
    一生悲哀
    三十男人的思考
    test markdown
    linux 系统内核空间与用户空间通信的实现与分析<转>
    ue4 SNew补遗
  • 原文地址:https://www.cnblogs.com/jjworld/p/6812365.html
Copyright © 2011-2022 走看看