ajax回调打开新窗体防止浏览器拦截
发布时间:2020-12-16 01:39:37 所属栏目:百科 来源:网络整理
导读: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")
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(){ } }); }
分析:
打开新窗体只能在点击事件内触发,点击事件内的回调函数内打开窗体会被拦截,浏览器会认为是广告弹窗之类的代码
解决1:
function click_fun_new(){ var tempwindow=window.open();//先打开临时窗体,由于是点击事件内触发,不会被拦截 $.ajax({ 'url': '${pageContext.request.contextPath}/activity/savePrizes.htm',success: function (data) { tempwindow.location = "www.baidu.com";//当回调的时候更改临时窗体的路径 },error:function(){ tempwindow.close();//回调发现无需打开窗体时可以关闭之前的临时窗体 } }); } 解决2: function click_fun_new(){ var flag = false; $.ajax({ 'url': '${pageContext.request.contextPath}/activity/savePrizes.htm','async':false,//同步请求 success: function (data) { $("#a").attr("href","www.baidu.com");//当回调的时候更改页面上或创建的某个a标签的href flag = true;//更改标志 },error:function(){ } }); if(flag){ $("#a").click();//href属性更改后模拟点击 } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- c#中Winform实现多线程异步更新UI(进度及状态信息)
- C# 添加、修改和删除PDF书签的实例代码
- fgrep正则查看相关行,及其前N行、后N行
- swift 3, swift2
- ruby-on-rails – 什么是rails约定’username’或’user_na
- Cache Fetched AJAX Requests Locally: Wrapping the Fetch
- c# – 这个关键字是否存在?当重写方法需要调用父级时
- reactjs – Webpack,React热重新加载器和多个条目
- Cocos2d-HTML5入门第三天
- 同步异步阻塞非阻塞Reactor模式和Proactor模式 (目前JAVA的
推荐文章
站长推荐
- 何时使用括号,何时在VB6中分配变量时不使用括号?
- `Calendar` API崩溃了Swift Playground
- C#泛型继承数据访问
- objective-c – 在applicationState之后收到的UI
- ruby-on-rails – 在Paperclip中验证扩展名 – R
- ORA-00600: internal error code, arguments: [2
- OpenCV之core 模块. 核心功能(2)基本绘图 随机
- 使用Flash地图控件AnyMap创建Self Drilldown Map
- ruby-on-rails – 如何将具有HABTM关系的模型与其
- Cilium架构 (Cilium 2)
热点阅读