js实现window.open不被拦截的解决方法汇总


Posted in Javascript onOctober 30, 2014

本文实例讲述了js实现window.open不被拦截的解决方法。分享给大家供大家参考。具体分析如下:

一、问题:

今天在处理页面ajax请求过程中,想实现请求后打开新页面,就想到通过 js window.open 来实现,但是最终都被浏览器拦截了。

二、分析:

在谷歌搜索有没有解决方法,有些说可以通过新建a标签,模拟点击来实现,但是测试发现都实现不了,照样被浏览器拦截。
最后找到了一个折中的办法,可以实现新页面打开,但是没有a标签的那种直接流量新页面的效果。

三、实现代码:

$obj.click(function(){

 var newTab=window.open('about:blank');

 $.ajax({

  success:function(data){

   if(data){

    //window.open('https://3water.com');

    newTab.location.href="https://3water.com";

   }

  }

 })

})

其它方法:
<script type="text/javascript">

<!-- 

$( 

function()

{

//方法一

window.showModalDialog("https://3water.com/");

window.showModalDialog("https://3water.com/");

 
//方法二

var aa=window.open();

setTimeout(function(){

aa.location="https://3water.com";

}, 100);

 
var b=window.open();

setTimeout(function(){

b.location="https://3water.com";

}, 200);

 
var c=window.open();

setTimeout(function(){

c.location="https://3water.com";

}, 300);

 
var d=window.open();

setTimeout(function(){

d.location="https://3water.com";

}, 400);

 
var ee=window.open();

setTimeout(function(){

ee.location="https://3water.com";

}, 500);

 
var f=window.open();

setTimeout(function(){

f.location="https://3water.com";

}, 600);

 
var g=window.open();

setTimeout(function(){

g.location="https://3water.com";

}, 700);

 
var h=window.open();

setTimeout(function(){

h.location="https://3water.com";

}, 800);

 
var i=window.open();

setTimeout(function(){

i.location="https://3water.com";

}, 900);

 
var j=window.open();

setTimeout(function(){

j.location="https://3water.com";

}, 1000);

 
//方法三

var a = $("<a href='https://3water.com' target='_blank'>Apple</a>").get(0);

var e = document.createEvent('MouseEvents');

e.initEvent( 'click', true, true );

a.dispatchEvent(e);

 
var a = $("<a href='https://3water.com' target='_blank'>Apple</a>").get(0);

var e = document.createEvent('MouseEvents');

e.initEvent( 'click', true, true );

a.dispatchEvent(e);

}

 

);

//-->

</script>

希望本文所述对大家基于javascript的web程序设计有所帮助。

Javascript 相关文章推荐
JavaScript动态提示输入框输入字数的方法
Jul 27 Javascript
基于jQuery和CSS3制作响应式水平时间轴附源码下载
Dec 20 Javascript
使用Javascript实现选择下拉菜单互移并排序
Feb 23 Javascript
JavaScript利用正则表达式替换字符串中的内容
Dec 12 Javascript
js实现键盘自动打字效果
Dec 23 Javascript
javascript 中iframe高度自适应(同域)实例详解
May 16 Javascript
jQuery用户头像裁剪插件cropbox.js使用详解
Jun 07 jQuery
AngularJS 前台分页实现的示例代码
Jun 07 Javascript
Typescript3.9 常用新特性一览(推荐)
May 14 Javascript
15分钟上手vue3.0(小结)
May 20 Javascript
微信小程序实现时间戳格式转换
Jul 20 Javascript
解决基于 keep-alive 的后台多级路由缓存问题
Dec 23 Javascript
一个JavaScript获取元素当前高度的实例
Oct 29 #Javascript
JS 实现列表与多选框选择附预览动画
Oct 29 #Javascript
一个JavaScript操作元素定位元素的实例
Oct 29 #Javascript
js实现ArrayList功能附实例代码
Oct 29 #Javascript
JQuery 实现在同一页面锚点链接之间的平滑滚动
Oct 29 #Javascript
js中的json对象详细介绍
Oct 29 #Javascript
鼠标悬浮显示二级菜单效果的jquery实现
Oct 29 #Javascript
You might like
Zerg建筑一览
2020/03/14 星际争霸
DC动画电影《黑暗正义联盟》曝预告 5月5日上线数字平台
2020/04/09 欧美动漫
屏蔽浏览器缓存另类方法
2006/10/09 PHP
PHP中的常见魔术方法功能作用及用法实例
2015/07/01 PHP
jquery UI 1.72 之datepicker
2009/12/29 Javascript
JavaScript在IE和Firefox浏览器下的7个差异兼容写法小结
2010/06/18 Javascript
jquery获取div宽度的实现思路与代码
2013/01/13 Javascript
jQuery实现类似滑动门切换效果的层切换
2013/09/23 Javascript
js创建表单元素并使用submit进行提交
2014/08/14 Javascript
Javascript基础教程之数组 array
2015/01/18 Javascript
jQuery学习笔记之基础中的基础
2015/01/19 Javascript
JavaScript setTimeout使用闭包功能实现定时打印数值
2015/12/18 Javascript
ionic cordova一次上传多张图片(类似input file提交表单)的实现方法
2016/12/16 Javascript
JavaScript数组push方法使用注意事项
2017/10/30 Javascript
Node.js中,在cmd界面,进入退出Node.js运行环境的方法
2018/05/12 Javascript
对layer弹出框中icon数字参数的说明介绍
2019/09/04 Javascript
Vue.js 无限滚动列表性能优化方案
2019/12/02 Javascript
JS apply用法总结和使用场景实例分析
2020/03/14 Javascript
JS字符串补全方法padStart()和padEnd()
2020/05/27 Javascript
vuex中遇到的坑,vuex数据改变,组件中页面不渲染操作
2020/11/16 Javascript
vue组件中节流函数的失效的原因和解决方法
2020/12/02 Vue.js
使用selenium和pyquery爬取京东商品列表过程解析
2019/08/15 Python
如何基于python实现脚本加密
2019/12/28 Python
Python接口开发实现步骤详解
2020/04/26 Python
Python代码中如何读取键盘录入的值
2020/05/27 Python
python3.7调试的实例方法
2020/07/21 Python
浅谈Python描述数据结构之KMP篇
2020/09/06 Python
详解vscode实现远程linux服务器上Python开发
2020/11/10 Python
Python操作PostgreSql数据库的方法(基本的增删改查)
2020/12/29 Python
如何用Matlab和Python读取Netcdf文件
2021/02/19 Python
英国版MAC彩妆品牌:Illamasqua
2018/04/18 全球购物
Ootori在线按摩椅店:一家专业的按摩椅制造商
2019/04/10 全球购物
意外伤害赔偿协议书范本
2014/09/28 职场文书
初婚初育证明范本
2014/11/24 职场文书
公司内部升职自荐信
2015/03/27 职场文书
医生行业员工的辞职信
2019/06/24 职场文书