背景

  当前的浏览器为了保证用户体验,在很多场合下禁止了window.open打开新窗口,下面就给出一些方案,最大程度上的实现新窗口打开一个链接。

方案

//打开新链接方法实现
function windowOpen(){var a = document.createElement("a");a.setAttribute("href", url);if(target == null){target = '';}a.setAttribute("target", target);document.body.appendChild(a);if(a.click){a.click();}else{try{var evt = document.createEvent('Event');a.initEvent('click', true, true);a.dispatchEvent(evt);}catch(e){window.open(url);}}document.body.removeChild(a);
}//新窗口打开
windowOpen('http://niu.xunlei.com/', '_blank');
//当前窗口打开
windowOpen('http://niu.xunlei.com/', '_self');

思路

  其实做法很简单,首先模拟A标签点击打开新窗口,若失败再直接调用window.open方法。

问题

  目前无法在异步的情况下调用该方法。如下:

//以下做法将得不到期望的结果,会被浏览器阻止
$.get("http://www.a.com/ajax",function(){windowOpen('http://niu.xunlei.com/', '_blank');
});

转载于:https://www.cnblogs.com/zernmal/p/3909575.html

防止浏览器拦截的新窗口打开链接方案相关推荐

  1. javascript新窗口打开链接window.open()被阻拦的解决办法

    场景是ajax提交,比较后端效验数据,需要用户登录,提示后并需要新窗口打开登录的链接,使用window.open(url);往往会被浏览器认为是广告而被拦截. data.url是ajax返回的链接地址 ...

  2. html打开链接文档代码,HTML_在新窗口打开链接的代码

    如何让网站页面以新页找开 HTML 在新窗口打开链接的代码 如果在文章中加上链接,系统默认是在原来的窗口中打开目标网页.当然,我们可以在链接地址上单击右键,选择"在新窗口中打开": ...

  3. php新窗口打开链接,wordpress如何设置在新窗口打开链接

    WordPress里面几乎所有的链接都是默认在当前窗口打开,无论是站外链接还是站内链接.这样的设定无忧主机小编觉得很不合理.试想:在博客网页上看到一个感兴趣的链接,点击之后就离开你的博客了,想要返回还 ...

  4. 网站用户体验研究:新窗口打开链接还是当前窗口打

    网页到底是用新窗口打开好,还是用当前页打开比较好呢,这个恐怕是仁者见仁,智者见智了,接下来就粗浅的谈谈自己的看法. 先看这两种打开方式的利弊: 新窗口打开: 优点: 1)用户可以同时浏览多个页面,很方 ...

  5. HTML:base标签统一让a标签在新窗口打开链接

    a标签链接默认打开方式会覆盖原先页面,不会在新窗口打开,用户体验不是很好. 在a标签中有一个属性:target,target属性有两个平时较常用的值,一个值是:_self,表示在同一个窗口中打开页面, ...

  6. router-link 返回上页 和 新窗口打开链接

    1.如果使用了Vue-router的话,就可以用 this.$router.go(-1) 实现返回: 2.如果没使用vue-router,就可以用 window.history.go(-1) 实现返回 ...

  7. webbrowser打开指定html,C#实现 WebBrowser中新窗口打开链接用默认或者指定浏览器打开,不用IE...

    首先要捕获打开链接的事件,这个事件在 WebBrowser的NewWindow里面. 这里我的WebBrowser命名为announce.所以捕获事件如下: private void announce ...

  8. 新窗口打开链接target = “_blank“

    设置整个页面所有a标签的打开方式 <base target = "_blank"> 设置单个a标签的打开方式 <a href = "url" ...

  9. 图解 wp WordPress 文章 链接 在新窗口打开

    wp WordPress 文章 链接 在新窗口打开 因为wp默认是不在新窗口打开链接的,这对于我们这样习惯关窗口的人,用起来很不方便.其实改起来很简单,下面开始 一.打开外观,选择编辑 二.打开主题页 ...

最新文章

  1. 很实用的 “设为首页”与“加入收藏”代码
  2. python下载图片
  3. italic与oblique的区别
  4. 完美运营牛帮任务平台源码 仿悬赏猫支持封装APP
  5. python定时任务框架_Python定时任务框架APScheduler
  6. WP7基础学习---第一讲
  7. 【李宏毅2020 ML/DL】P15 Why Deep-
  8. 最容易理解的handler
  9. ubuntu etc文件夹在哪_嵌入式Linux开发学习之 Ubuntu 和 Windows 文件互传
  10. java 人脸识别 性别识别
  11. 36.伪造目标不可达的ICMP数据包
  12. win7系统下使用虚拟机安装专利电子申请客户端(CPC软件)以及专利文件生成过程
  13. [转]深邃之思想,纯粹之灵魂——我所了解的柳智宇学长
  14. Agile PLM 表结构说明
  15. ckfinder的使用
  16. java面试题大全2
  17. mysql的下载安装
  18. 计算机c盘应该装什么区别,电脑的c盘和d盘有什么区别吗
  19. 一起来学k8s 38. 二进制k8s集群安装EFK
  20. 第15课:生活中的命令模式——大闸蟹,走起

热门文章

  1. 用友erpU8V10服务器数据库整体迁移解决方法采用数据库附加方法
  2. Dataframe 新增一列, apply 通用方法
  3. python程序编译成exe格式
  4. 《Linux高性能服务器编程》——2.4 IP路由
  5. 【Unity Shaders】Lighting Models —— 灯型号Lit Sphere
  6. 使用git pull时,项目没有更新?
  7. 在JSP中应用JavaBean
  8. Javascript 的模块化编程及加载模块【转载+整理】
  9. 艾伟_转载:.NET Discovery 系列之二--string从入门到精通(勘误版下)
  10. python程序设计采用格式框架结构_Python笔记:基于Django框架的项目架构程序设计...