【实例名称】
JS计算用户浏览页面的时间
【实例描述】
当用户离开网页时,可以计算用户在该网页的停留时间,并以alert的方式进行提醒。注意是在某网页的停留时间,而不是某网站。
【实例代码】
<html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>无标题页-本站(www.xue51.com)</title> <script language="Javascript"> pageOpenTime = new Date();//定义打开网页的时间 function goodbye() { pageCloseTime = new Date();//定义关闭网页的时间 minutes = (pageCloseTime.getMinutes() - pageOpenTime.getMinutes()); seconds = (pageCloseTime.getSeconds() - pageOpenTime.getSeconds()); time = (seconds + (minutes * 60)); alert('总共停留了' + time + '秒,一路走好!'); } </script>
当用户离开的时候,需要调用上面的“goodbye”方法, 所以为body指定“onunload”事件,代码如下所示: </head> <body onunload="goodbye()"> <div> 泛型 该语言中添加了一些泛型类型,使得程序员能够实现程度 很高的代码重用,获得更高的集合类性能。泛型类型只存在 arity 上的不同。也可以将参数强制为特定的类型。有关更多信息,请参见泛型类型参数。 <br /> 迭代器 迭代器使得规定 foreach 循环将如何循环访问集合的内容变得更加容易。 <br /> 分部类 分部类型定义允许将单个类型(比如某个类)拆分为多个文件。 Visual Studio 设计器使用此功能将它生成的代码与用户代码分离。 <br /> 可空类型 可空类型允许变量包含未定义的值。在使用数据库和其他可能包含 未含有具体值的元素的数据结构时,可以使用可空类型。 <br /> 匿名方法 现在,可以将代码块作为参数来传递。在本应使用委托的任何地方, 都可以使用代码块来取代:不需要定义新的方法。 <br /> 命名空间别名限定符 命名空间别名限定符 (::) 对访问命名空间成员提供了更多控制。 global :: 别名允许访问可能被代码中的实体隐藏的根命名空间。 <br /> 静态类 若要声明那些包含不能实例化的静态方法的类,静态类就是一种 安全而便利的方式。C# 1.2 版要求将类构造函数定义为私有的,以防止类被实例化。 <br /> 外部程序集别名 通过 extern 关键字的这种扩展用法引用包含在同一程序集中的同一组件的不同版本。 <br /> 属性访问器可访问性 现在可以为属性的 get 和 set 访问器定义不同级别的可访问性。
</div> </body>
</html>
【运行效果】
【难点剖析】
读取系统日期和时间的是Date对象,当用户打开网页时,使用Date获取打开时间,用户关闭网页时,调用方法“goodbye”获取关闭时间,然后将分钟数换算为秒数,计算两个时间的间隔,最后用“alert”方法提醒用户。
【源码下载】
为了JS代码的准确性,请点击:计算用户浏览页面的时间 进行本实例源码下载
……