javascript Onunload与Onbeforeunload使用小结
Onbeforeunload也是在页面刷新或关闭时调用,Onbeforeunload是正要去服务器读取新的页面时调用,此时还没开始读取;而onunload则已经从服务器上读到了需要加载的新的页面,在即将替换掉当前页面时调用。Onunload是无法阻止页面的更新和关闭的。而Onbeforeunload 可以做到。曾经做一个考试系统,涉及到防止用户半途退出考试(有意或者无意),代码如下:
代码如下:
<body onbeforeunload=" checkLeave()">
<script>
function checkLeave(){
event.returnValue="确定放弃考试?(考试作废,不记录成绩)";
}
</script>
这样可以让用户确认是否要退出考场,其实BLOGJAVA在用户编写BLOG时,如果不保存而跳转到其他页面,也会有一个确认的提示(防止误操作),也是用到Onbeforeunload。
另外还可以用来在页面关闭的时候关闭session,代码如下(注:用window.screenLeft > 10000 来区分关闭和刷新操作):
代码如下:
<body onbeforeunload=" closeSession()">
<script>
function closeSession (){
//关闭(刷新的时候不关闭Session)
if(window.screenLeft>10000){
//关闭Session的操作(可以运用AJAX)
}
}
</script>
相关推荐
-
浅谈javascript中onbeforeunload与onunload事件
在最近的项目中,需要做到一个时间,就是用户离开页面的时候,我需要缓存页面其中一部分的内容,但是我不需要用户刷新的时候也缓存,我只希望在我用户离开的时候 执行这个函数.百度之,有onbeforeunload与onunload这两个事件,但是onbeforeunload在用户刷新的时候也会执行.搞得我弄的挺久的,所以想在这里做一个小小的总结 onbeforeunload与onunload事件 onbeforeunload定义和用法 onbeforeunload 事件在即将离开当前页面(刷新或关闭)时
-
onbeforeunload与onunload事件异同点总结
1)异同点 相同点:onunload,onbeforeunload都是在刷新或关闭时调用,可以在<script>脚本中通过window.onunload来指定或者在<body>里指定. 不同点: a)onbeforeunload在onunload之前执行 ,它还可以阻止onunload的执行. b)onbeforeunload是正要去服务器读取新的页面时调用,此时还没开始读取;nunload则已经从服务器上读到了需要加载的新的页面,在即将替换掉当前页面时调用 . c)onbefor
-
用js判断页面刷新或关闭的方法(onbeforeunload与onunload事件)
Onunload,onbeforeunload都是在刷新或关闭时调用,可以在<script>脚本中通过window.onunload来指定或者在<body>里指定.区别在于onbeforeunload在onunload之前执行,它还可以阻止onunload的执行. Onbeforeunload也是在页面刷新或关闭时调用,Onbeforeunload是正要去服务器读取新的页面时调用,此时还没开始读取:而onunload则已经从服务器上读到了需要加载的新的页面,在即将替换掉当前页面时调
-
javascript Onunload与Onbeforeunload使用小结
Onbeforeunload也是在页面刷新或关闭时调用,Onbeforeunload是正要去服务器读取新的页面时调用,此时还没开始读取:而onunload则已经从服务器上读到了需要加载的新的页面,在即将替换掉当前页面时调用.Onunload是无法阻止页面的更新和关闭的.而Onbeforeunload 可以做到.曾经做一个考试系统,涉及到防止用户半途退出考试(有意或者无意),代码如下: 复制代码 代码如下: <body onbeforeunload=" checkLeave()"&
-
JavaScript多种页面刷新方法小结
1,reload 方法 该方法强迫浏览器刷新当前页面. 语法:location.reload([bForceGet]) 参数: bForceGet, 可选参数, 默认为 false,从客户端缓存里取当前页.true, 则以 GET 方式,从服务端取最新的页面, 相当于客户端点击 F5("刷新") 2,replace 方法 方法通过指定URL替换当前缓存在历史里(客户端)的项目,因此当使用replace方法之后,你不能通过"前进"和"后退"来访问已
-
关于javascript中dataset的问题小结
DataSet是ADO.NET的中心概念.可以把DataSet当成内存中的数据库,DataSet是不依赖于数据库的独立数据集合.所谓独立,就是说,即使断开数据链路,或者关闭数据库,DataSet依然是可用的,DataSet在内部是用XML来描述数据的,由于XML是一种与平台无关.与语言无关的数据描述语言,而且可以描述复杂关系的数据,比如父子关系的数据,所以DataSet实际上可以容纳具有复杂关系的数据,而且不再依赖于数据库链路. 一.关于dataset 1.html5自定义属性及基础 html5
-
JavaScript lodash常见用法系列小结
lodash一开始是Underscore.js库的一个fork,因为和其他(Underscore.js的)贡献者意见相左.John-David Dalton的最初目标,是提供更多"一致的跨浏览器行为--,并改善性能".之后,该项目在现有成功的基础之上取得了更大的成果,并于一月份发布了3.0版本. 下面给大家说下javascript lodash知识,具体详情如下所示: 1 _.compact用法 _.compact([0, 1, false, 2, '', 3,'mm']); var
-
javascript对象的相关操作小结
我们知道浏览器对象模型(BOM)是javascript的组成之一,它提供了独立于内容与浏览器窗口进行交互的对象.其分层结构如下: window对象是整个BOM的核心其有document(文档对象).location(地址对象) 和history(历史对象组成) 调用对象属性的语法: 1.对象.属性名="属性值"; 2.对象["属性名称字符串"]="属性值"; 调用对象方法的语法: 1.对象的方法名(); 2.对象["方法名称字符串&qu
-
JavaScript 日期时间选择器一些小结
flatpickr 是一个轻量级.注重精益.由 UX 驱动和可扩展的 JavaScript 日期时间选择器. 下载 演示 GitHub flatpickr 不依赖于任何库.更小的用户界面,但有很多主题.丰富的 API 和事件系统使其适用于任何环境.可用于 webpack ,也可作为 jQuery 插件使用. 安装 安装 flatpickr 模块 使用 NPM 安装 flatpickr 模块.包管理工具: https://www.npmjs.com/package/bower-npm-resolv
-
javaScript产生随机数的用法小结
var chars = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']; function generateMixed(n) { var res = ""; for(var i = 0; i < n ; i ++) { var id = M
-
了不起的11个JavaScript代码重构最佳实践小结
模式和重构之间有着一种与生俱来的关系.从某种角度来看,设计模式的目的就是为许多重构行为提供目标. 1.提炼函数 在JavaScript开发中,我们大部分时间都在与函数打交道,所以我们希望这些函数有着良好的命名,函数体内包含的逻辑清晰明了.如果一个函数过长,不得不加上若干注释才能让这个函数显得易读一些,那这些函数就很有必要进行重构. 如果在函数中有一段代码可以被独立出来,那我们最好把这些代码放进另外一个独立的函数中.这是一种很常见的优化工作,这样做的好处主要有以下几点. 避免出现超大函数. 独立出
-
javascript进行数组追加方法小结
javascript中给数组加元素是一个非常简单的问题,javascript本身就提供了大量这类函数,我们可以使用js自带函数快速给数组增加元素了,本文就javascript进行数组追加的方法做出如下小结. 以前常用的是arr.concat(arr2)这种方法来追加数组,例子如下: 复制代码 代码如下: <script type="text/javascript">var arr = new Array(3);arr[0] = "测试数组1为 1";ar
-
JavaScript数组去重算法实例小结
本文实例总结了JavaScript数组去重算法.分享给大家供大家参考,具体如下: 测试用例: arr = ["1",3,"1",1,4,5,1,"2",5,1,{"name":"li","age":20},2,4,3,{"name":"li","age":20},""]; 方法一:借助于临时数组与indexO
随机推荐
- Mysql 5.7从节点配置多线程主从复制的方法详解
- js实现的后台左侧管理菜单代码
- VBS教程:VBscript语句-Call 语句
- java实现大数加法(BigDecimal)的实例代码
- js实现背景图自适应窗口大小
- javascript淘宝主图放大镜功能
- PHP开发Apache服务器配置
- python求斐波那契数列示例分享
- 基于Android中实现定时器的3种解决方法
- php中类和对象:静态属性、静态方法
- nodejs教程之异步I/O
- javascript小组件 原生table排序表格脚本(兼容ie firefox opera chrome)
- jQuery mobile的header和footer在点击屏幕的时候消失的解决办法
- 实现Nginx中使用PHP-FPM时记录PHP错误日志的配置方法
- Ubuntu16.04安装MySQL5.7的教程
- VC实现屏幕截词功能的方法详解
- C# 设计模式系列教程-状态模式
- C#时间戳基本用法实例分析
- SESSION存放在数据库用法实例
- webpack中使用iconfont字体图标的方法