• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >AJAX > ajax回调打开新窗体防止浏览器拦截有效方法

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

作者:Elong_Deo 字体:[增加 减小] 来源:互联网 时间:2017-05-11

Elong_Deo通过本文主要向大家介绍了ajax回调打开新窗体防止浏览器拦截有效方法等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

ajax回调打开新窗体防止浏览器拦截,就这么做!

问题剖析:

function click_fun(){ 
   window.open("www.baidu.com");//能打开 
  $.ajax({ 
    'url': '${pageContext.request.contextPath}/activity/savePrizes.htm', 
    'type': 'post', 
    'dataType': 'json', 
    'data': data, 
    success: function (data) { 
      window.open("www.baidu.com");//被拦截 
    }, 
    error:function(){ 
 
    } 
  }); 
} 
</div>

分析:
打开新窗体只能在点击事件内触发,点击事件内的回调函数内打开窗体会被拦截,浏览器会认为是广告弹窗之类的代码

解决1:

function click_fun_new(){ 
  var tempwindow=window.open();//先打开临时窗体,由于是点击事件内触发,不会被拦截 
  $.ajax({ 
    'url': '${pageContext.request.contextPath}/activity/savePrizes.htm', 
    'type': 'post', 
    'dataType': 'json', 
    'data': data, 
    success: function (data) { 
      tempwindow.location = "www.baidu.com";//当回调的时候更改临时窗体的路径 
    }, 
    error:function(){ 
      tempwindow.close();//回调发现无需打开窗体时可以关闭之前的临时窗体 
    } 
  }); 
} 
</div>

解决2:

function click_fun_new(){ 
  var flag = false; 
  $.ajax({ 
    'url': '${pageContext.request.contextPath}/activity/savePrizes.htm', 
    'type': 'post', 
    'dataType': 'json', 
    'data': data, 
    'async':false,//同步请求 
    success: function (data) { 
      $("#a").attr("href","www.baidu.com");//当回调的时候更改页面上或创建的某个a标签的href 
      flag = true;//更改标志 
    }, 
    error:function(){ 
       
    } 
  }); 
  if(flag){ 
    $("#a").click();//href属性更改后模拟点击 
  } 
} 
</div>

以上就是ajax回调打开新窗体防止浏览器拦截的两种方法,希望对大家的学习有所帮助。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2017-05-11基于Jquery ajax技术实现间隔N秒向某页面传值
  • 2017-05-11ajax初级教程之获取博文列表
  • 2017-05-11多ajax请求的各类解决方案(同步, 队列, cancel请求)
  • 2017-05-11利用Ajax实现在脚本里传值实例介绍
  • 2017-05-11ajax技术制作得在线歌词搜索功能
  • 2017-05-11使用jQuery简化Ajax开发
  • 2017-05-11在dom4j中使用XPath的简单实例
  • 2017-05-11空格或者空白字符导致$.ajax()报parseerror错误小结
  • 2017-05-11掌握AJAX第1/7页
  • 2017-05-11AJAX入门之深入理解JavaScript中的函数

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • springmvc 发送ajax出现中文乱码的解决方法汇总
    • ajax三级联动的实现方法
    • 一个有趣的Ajax Hack示范
    • AJAX 实时读取输入文本(php)
    • 浅析Ajax后台success传来json数据的问题
    • AJax 学习笔记一(XMLHTTPRequest对象)
    • AJAX和WebService实现邮箱验证(无刷新验证邮件地址是否合法)
    • 极致体验ajax局部和整体刷新
    • 自己动手打造ajax图片上传(网上没有的)
    • javascript ajax功能函数

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有