关闭页面时window.location事件未执行的原因分析及解决方案
1、问题描述:
JS中定义widow.location = function(),页面关闭时,logout()函数未执行。
window.onunload = function() { logout(); } function logout(reqParam, callback){ var userManageServiceUrl = "http://" + getServerAddr() + "/axis2/services/UserManageService"; var urlList = []; var url = window.location.href; urlList = url.split("?"); var sessionID = urlList[1]; reqParam.sessionID = sessionID; var pl = new SOAPClientParameters(); var reqParamStr = JSON.stringify(reqParam); pl.add("reqParam", reqParamStr); SOAPClient.invoke(userManageServiceUrl, "logout", pl, false, callback); }
2、问题原因:
logout()中调用SOAPClient.invoke()方法,参数为true,代表前端和server是异步方式通信,即前端还未接收到server端的响应,便已经执行后面的语句了,在该问题中表现为前端执行logout()时还未等到server的响应,便已经将页面关闭了,所以表现为logout()未执行。
3、解决方法:
将前端和server通信方式改为同步,即将SOAPClient.invoke()方法中true改为false,问题得到解决。
相关推荐
-
window.location.hash 使用说明
比如loation.href是 页面的url .但是 location.hash可以获取或设置页面的 标签值 比如http://domain/#testDemo中 咱们的location.hash 就是 #testDemo 下面引用一个 网上的demo 一个搜索版块,功能有3个:普通搜索,高级搜索,后台管理,分别指明他们各自的hash 值:#search,#advsearch,#adminboss. 在页面初始化的时候,通过window.location.hash来判断用户需要访问的页面,也就是
-
关于js中window.location.href,location.href,parent.location.href,top.location.href的用法与区别
"window.location.href"."location.href"是本页面跳转 "parent.location.href"是上一层页面跳转 "top.location.href"是最外层的页面跳转 举例说明: 如果A,B,C,D都是jsp,D是C的iframe,C是B的iframe,B是A的iframe,如果D中js这样写 "window.location.href"."locatio
-
window.location.reload()方法刷新页面弹出要再次显示该网页对话框
用window.location.reload()方法刷新页面时,有时浏览期会出现一个这样的弹出框, 解决办法是: 一: document.location.href = "${base}/rwfp/rwfpcontent" 用这种方法找到页面对应的Action的位置,这样做虽然页面刷新,但是刷新后数据会从第一页开始显示,并不是停留在原来的页面. 二: $("#yhsubmit").click() 这种方法跟分页相关,#yhsubmit为 复制代码 代码如下: &l
-
javascript 打开页面window.location和window.open的区别
window.location = "http://www.xxxxxxxx.net" 跳转后有后退功能 其实应该是 window.location.hrefwindow.location.replace("http://www.xxxxxxxx.net") 跳转后没有后退功能 window.open("http://www.xxxxxxxx.net") 要新的窗口打开链接 这个一般用于简单的弹出页面,现在基本上都被屏蔽掉了
-
window.location和document.location的区别分析
document.location 这个对象包含了当前URL的信息 location.host 获取port号 location.hostname 设置或获取主机名称 location.href 设置或获取整个URL location.port设置或获取URL的端口号 location.search 设置或获取href属性中跟在问号后面的部分 -----------------------------------------------------------------------------
-
window.location.hash 属性使用说明
比如http://domain/#admin的location.hash="#admin".利用这个属性值可以做一个非常有意义的事情. 很多人都喜欢收藏网页,以便于以后的浏览.不过对于Ajax页面来说的话,一般用一个页面来处理所有的事务,也就是说,如果你浏览到一个Ajax页面里边有意思的内容,想将它收藏起来,可是地址只有一个呀,下次你打开这个地址,还是得像以往一样不断地去点击网页,找到你钟情的那个页面.另外的话,浏览器上的"前进""后退"按钮也会
-
window.location不跳转的问题解决方法
今天写代码的时候遇到个问题:html里采用onclick事件来实现window.location = url的跳转,在内嵌元素上又加上了href="javascrit:;"的属性.这时这句window.location的跳转失效了.后来上网查了下,想起javascript里面事件是冒泡传递的事,可能是被内嵌的那个href事件给组织了. 解决办法是:在onclick方法里面增加一句return false的语句,让程序强制跳出不继续执行后面的语句.
-
window.navigate 与 window.location.href 的使用区别介绍
首先说明的是 window.navigate 与 window.location.href 都是实现页面链接跳转的,下面将介绍它们的区别. window.navigate("http://jb51.net/") 这个方法是只针对IE的,不适用于火狐等其他浏览器,在HTML DOM Window Object中,根本没有列出window.navigate这个方法,所以这个方法尽量少用,遗忘最好. location 属性是兼容所有浏览器的.因此在实现页面跳转的时候还是使用这个比较靠谱,比如
-
关闭页面时window.location事件未执行的原因分析及解决方案
1.问题描述: JS中定义widow.location = function(),页面关闭时,logout()函数未执行. window.onunload = function() { logout(); } function logout(reqParam, callback){ var userManageServiceUrl = "http://" + getServerAddr() + "/axis2/services/UserManageService";
-
关闭页面window.location事件未执行的原因及解决方法
1.问题描述: JS中定义widow.location = function(),页面关闭时,logout()函数未执行. window.onunload = function() { logout(); } function logout(reqParam, callback){ var userManageServiceUrl = "http://" + getServerAddr() + "/axis2/services/UserManageService";
-
JS关闭窗口时产生的事件及用法示例
本文实例讲述了JS关闭窗口时产生的事件及用法.分享给大家供大家参考,具体如下: /************ 关闭窗口,提交评价 **************/ window.onbeforeunload = function(){ var pageWidth = Math.max(window.top.document.body.scrollWidth, window.top.document.documentElement.scrollWidth); var pageHeight = Math
-
MySQL定时任务不能正常执行的原因分析及解决方法
目录 前言 原因分析及解决方法 让定时任务快速执行 总结 前言 在使用数据库定时任务时,常常会出现定时任务不执行的问题,现对该问题出现的原因及解决方案做一些分析和整理. 原因分析及解决方法 当我们发现MySQL的定时任务没有执行时,首先去定时任务中查看[上次运行]时间是否正确,判断其是否正常执行,如果正常执行则需要考虑是否是事件逻辑不正确. 如果上次运行时间为空或者不正确,则需要查看数据库是否打开了定时任务,通过执行下列查询语句进行查询 show VARIABLES like '%event_s
-
关闭浏览器时提示onbeforeunload事件
onbeforeunload事件 它是这样用的: 复制代码 代码如下: <script language="javascript"> g_blnCheckUnload = true; function RunOnBeforeUnload() { if (g_blnCheckUnload) { window.event.returnValue = 'You will lose any unsaved content'
-
在Web关闭页面时发送Ajax请求的实现方法
前言 有时候我们需要在用户离开页面的时候,做一些上报来记录用户行为.又或者是发送服务器ajax请求,通知服务器用户已经离开,比如直播间内的退房操作. 本文主要分两部分来讲解怎么完成退出行为的上报. 1.事件监听 浏览器有两个事件可以用来监听页面关闭,beforeunload和unload. beforeunload是在文档和资源将要关闭的时候调用的, 这时候文档还是可见的,并且在这个关闭的事件还是可以取消的.比如下面这种写法就会让用户导致在刷新或者关闭页面时候,有个弹窗提醒用户是否关闭. win
-
js点击事件的执行过程实例分析【冒泡与捕获】
本文实例讲述了js点击事件的执行过程.分享给大家供大家参考,具体如下: js事件对象event包括很多事件类型,这里用onclick事件为例,探讨一下在js事件捕获机制和冒泡机制下的执行过程,以及如何阻止事件的捕获和冒泡. 首先看下当我们点击一个元素后,浏览器的执行过程. 1,当某个元素绑定的事件被触发时,这时浏览器就会从顶级document元素发出一个事件流 2,这个事件流顺着dom层级,一层一层向下找,直到遇到了触发事件的目标元素,这个查找的过程是捕获阶段 说明:捕获阶段,在查找每一层dom
-
C#动态生成DropDownList执行失败原因分析
本文实例分析了C#动态生成DropDownList执行失败原因.分享给大家供大家参考.具体如下: 今天研究DDL控件的动态生成的时候遇到了点问题 ,当我写代码的时候发现点击button后 只能创建一个DDL控件,再点击就没有作用了,后来我在里面设置了变量,看看这个事件是不是没有执行,发现变量并没有改变,刚刚有点疑惑不解,后来发现当我触发其它事件的时候,控件消失了!我想,button的click事件会回传,而回传后新建的控件就会消失,我才明白,原来每次都有创建新的控件,只是每次再次点击button
-
关于@Scheduled不执行的原因分析
目录 @Scheduled不执行的原因 1. 今天用@Schedule做了一个定时任务 2. 首先遇到查到的一个解决方案 3. 还有版本说要在spring 4. 又查到版本说要在Bean上加上@Lazy(false) @Scheduled不生效的排查记录 @Scheduled 不生效的排查记录 @Scheduled不执行的原因 1. 今天用@Schedule做了一个定时任务 希望凌晨1点执行,代码如下 @Service public class ParseJsonService { @Sched
-
如何实现chrome浏览器关闭页面时弹出“确定要离开此面吗?”
一.避免弹出提示框 在网上搜了很多,答案大都是设置window.onbeforeunload=null ,但是试用之后无效. 这个问题放了两天之后返回来再次想,终于找到了答案,在此和大家分享一下: 解除jquery离开页面弹出提(1) 先解除绑定在设置弹出内容为null. 复制代码 代码如下: $(function(){ $(window).unbind('beforeunload'); window.onbeforeunload = null; }) 二.其他相关[摘要] (1)w
随机推荐
- Asp.Net超大文件上传问题解决
- ASP.NET中实现把form表单元素转为实体对象或集合
- PHP 类型转换函数intval
- PHP判断一个gif图片是否为动态图片的方法
- python根据经纬度计算距离示例
- 部署Python的框架下的web app的详细教程
- Centos5.x下升级python到python2.7版本教程
- C++基本算法思想之穷举法
- C++回文数及素数问题计算方法
- mysql limit分页优化方法分享
- php curl post 时出现的问题解决
- nodejs入门教程一:概念与用法简介
- 用JQuery实现表格隔行变色和突出显示当前行的代码
- asp下使用数组存放数据的代码
- Js动态设置rem来实现移动端字体的自适应代码
- PowerShell实现在多个文件中检索关键字功能
- php 生成WML页面方法详解
- Sql Server中的系统视图详细介绍
- jQuery1.3.2 升级到jQuery1.4.4需要修改的地方
- 如何改进javascript代码的性能