防止浏览器拦截的新窗口打开链接方案
背景
当前的浏览器为了保证用户体验,在很多场合下禁止了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
防止浏览器拦截的新窗口打开链接方案相关推荐
- javascript新窗口打开链接window.open()被阻拦的解决办法
场景是ajax提交,比较后端效验数据,需要用户登录,提示后并需要新窗口打开登录的链接,使用window.open(url);往往会被浏览器认为是广告而被拦截. data.url是ajax返回的链接地址 ...
- html打开链接文档代码,HTML_在新窗口打开链接的代码
如何让网站页面以新页找开 HTML 在新窗口打开链接的代码 如果在文章中加上链接,系统默认是在原来的窗口中打开目标网页.当然,我们可以在链接地址上单击右键,选择"在新窗口中打开": ...
- php新窗口打开链接,wordpress如何设置在新窗口打开链接
WordPress里面几乎所有的链接都是默认在当前窗口打开,无论是站外链接还是站内链接.这样的设定无忧主机小编觉得很不合理.试想:在博客网页上看到一个感兴趣的链接,点击之后就离开你的博客了,想要返回还 ...
- 网站用户体验研究:新窗口打开链接还是当前窗口打
网页到底是用新窗口打开好,还是用当前页打开比较好呢,这个恐怕是仁者见仁,智者见智了,接下来就粗浅的谈谈自己的看法. 先看这两种打开方式的利弊: 新窗口打开: 优点: 1)用户可以同时浏览多个页面,很方 ...
- HTML:base标签统一让a标签在新窗口打开链接
a标签链接默认打开方式会覆盖原先页面,不会在新窗口打开,用户体验不是很好. 在a标签中有一个属性:target,target属性有两个平时较常用的值,一个值是:_self,表示在同一个窗口中打开页面, ...
- router-link 返回上页 和 新窗口打开链接
1.如果使用了Vue-router的话,就可以用 this.$router.go(-1) 实现返回: 2.如果没使用vue-router,就可以用 window.history.go(-1) 实现返回 ...
- webbrowser打开指定html,C#实现 WebBrowser中新窗口打开链接用默认或者指定浏览器打开,不用IE...
首先要捕获打开链接的事件,这个事件在 WebBrowser的NewWindow里面. 这里我的WebBrowser命名为announce.所以捕获事件如下: private void announce ...
- 新窗口打开链接target = “_blank“
设置整个页面所有a标签的打开方式 <base target = "_blank"> 设置单个a标签的打开方式 <a href = "url" ...
- 图解 wp WordPress 文章 链接 在新窗口打开
wp WordPress 文章 链接 在新窗口打开 因为wp默认是不在新窗口打开链接的,这对于我们这样习惯关窗口的人,用起来很不方便.其实改起来很简单,下面开始 一.打开外观,选择编辑 二.打开主题页 ...
最新文章
- 很实用的 “设为首页”与“加入收藏”代码
- python下载图片
- italic与oblique的区别
- 完美运营牛帮任务平台源码 仿悬赏猫支持封装APP
- python定时任务框架_Python定时任务框架APScheduler
- WP7基础学习---第一讲
- 【李宏毅2020 ML/DL】P15 Why Deep-
- 最容易理解的handler
- ubuntu etc文件夹在哪_嵌入式Linux开发学习之 Ubuntu 和 Windows 文件互传
- java 人脸识别 性别识别
- 36.伪造目标不可达的ICMP数据包
- win7系统下使用虚拟机安装专利电子申请客户端(CPC软件)以及专利文件生成过程
- [转]深邃之思想,纯粹之灵魂——我所了解的柳智宇学长
- Agile PLM 表结构说明
- ckfinder的使用
- java面试题大全2
- mysql的下载安装
- 计算机c盘应该装什么区别,电脑的c盘和d盘有什么区别吗
- 一起来学k8s 38. 二进制k8s集群安装EFK
- 第15课:生活中的命令模式——大闸蟹,走起
热门文章
- 用友erpU8V10服务器数据库整体迁移解决方法采用数据库附加方法
- Dataframe 新增一列, apply 通用方法
- python程序编译成exe格式
- 《Linux高性能服务器编程》——2.4 IP路由
- 【Unity Shaders】Lighting Models —— 灯型号Lit Sphere
- 使用git pull时,项目没有更新?
- 在JSP中应用JavaBean
- Javascript 的模块化编程及加载模块【转载+整理】
- 艾伟_转载:.NET Discovery 系列之二--string从入门到精通(勘误版下)
- python程序设计采用格式框架结构_Python笔记:基于Django框架的项目架构程序设计...