`
greemranqq
  • 浏览: 976983 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论
阅读更多

这个例子是我要垮系统访问,防止当前会话失效,而还能访问另一个系统,而做得测试。

我将本Session过期的时间取到了页面。

 

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>合同起草</title>
</head>
<x:tbody title="xx" iconCls="icon-dot">
<div id="msgBox" style="display:none;"><font style="size: 14px;color: red"></font></div>
	<iframe id="logfrm" src="另一个系统地址"  frameborder="0" scrolling="no">
	</iframe>
		
<script type="text/javascript">
	// 提示时间
	var infoTime = 180;// 3分钟,到时默认提醒
	var unit = 1000;
	// session 过期时间,单位秒,从后台获取的
	var sessionTime = "${sessionLostTime}"*unit; ;
	// 和session 同步,初始化定时任务
	var timeout = runTimeout();
	// 时间到了进行提示,从180秒时间减少
	var outinfo = runInteval();
	var noticeout;
	// 点击默认刷新session 时间
	myWindowListener("click",function(){
		// 隐藏提示信息
		$('#msgBox').hide();
		clearTimeout(timeout);
		clearTimeout(outinfo);
		clearInterval(noticeout);
		outinfo = runInteval();
		timeout = runTimeout();
	});
	// 执行定时器,session 过去动作
	function runTimeout(){
		return window.setTimeout(active,sessionTime);
	}
	// 执行定时器,消息提醒
	function runInteval(){
		return window.setTimeout(noticeout=notice,(sessionTime-infoTime*unit));
	}
	// 时间到了 直接跳转登陆 界面
	function active(){
		forward('','/c/jsp/login/login');
	}

	// 时间即将到期 提示时间
	function notice(){
		$('#msgBox').show();
		return window.setInterval(infoAction,1000);
	}
	// 提示操作
	function infoAction(){
		infoTime --;
		$('#msgBox font').html("");
		$('#msgBox font').html("您长时间未操作,页面将在"+ infoTime +"秒后失效,恢复请点击空白处!");
	}	
	// IE/fire
	function myWindowListener(fanc,time){
		if(window.attachEvent){
			return window.document.attachEvent("on"+fanc,time);
		}else{
			return window.addEventListener(fanc,time,false);
		}
	}
</script>

</x:tbody>

</html>

 

有 更好的建议,请多帮助!

 

独立出来方便调用好一些。

	// 执行定时器,session 过去动作
	function runTimeout(sessionTime){
		return window.setTimeout(active,sessionTime);
	}
	// 执行定时器,消息提醒
	function runInteval(sessionTime,infoTime,unit){
		var lessTime = sessionTime-infoTime*unit;
		return window.setTimeout(noticeout=notice,lessTime);
	}
	// 时间到了 直接跳转登陆 界面
	function active(){
		forward('','/c/jsp/login/login');
	}

	// 时间即将到期 提示时间
	function notice(){
		$('#msgBox').show();
		return window.setInterval(infoAction,1000);
	}
	// 提示操作
	function infoAction(){
		infoTime --;
		$('#msgBox font').html("");
		$('#msgBox font').html("您长时间未操作,页面将在"+ infoTime +"秒后失效,恢复请点击空白处!");
	}	
	// IE/fire
	function myWindowListener(myevent,fanc,sessionTime){
		if(window.attachEvent){
			return window.document.attachEvent("on"+myevent,fanc);
		}else{
			return window.addEventListener(myevent,fanc,false);
		}
	}
	
	// 提示时间
	var infoTime = 180;// 3分钟
	// 点击默认刷新session 时间
	function initSessionListener(sessionLostTime){
		var msgBox =null;
		var unit = 1000;
		// session 过期时间,单位秒
		var sessionTime = sessionLostTime*unit; 
		// 和session 同步
		var timeout = runTimeout(sessionTime);
		// 时间到了进行提示
		var outinfo = runInteval(sessionTime,infoTime,unit);
		var noticeout;
		// 隐藏提示信息
		myWindowListener("click",function(){
				// 隐藏提示信息
				$('#msgBox').hide();
				clearTimeout(timeout);
				clearTimeout(outinfo);
				clearInterval(noticeout);
				outinfo = runInteval(sessionTime,infoTime,unit);
				timeout = runTimeout(sessionTime);
		});
	}

 

 

0
0
分享到:
评论

相关推荐

    javascript定时器实现的蛇形文字

    总的来说,JavaScript定时器实现的蛇形文字是一个结合了JavaScript基础知识和DOM操作的有趣项目,它不仅锻炼了编程技能,也展示了JavaScript动态更新页面的能力。通过这个项目,开发者可以深入理解定时器的工作原理...

    定时器 源码+程序

    在Linux或其它Unix-like系统中,消息循环可能表现为事件循环,如Glib的g_main_loop或Qt的QEventLoop,它们通过监听文件描述符、定时器等事件来实现异步处理。 ### 回调函数 回调函数是程序员提供的一个函数指针,...

    javascript几个网页特效

    8. **计时器和倒计时**:JavaScript的setInterval和setTimeout函数可用于创建计时器和倒计时,常用于在线考试、倒计时促销等场景。 9. **滚动效果**:如滚动监听,可以实现页面跟随滚动、滚动到顶部/底部的动画,...

    js定时器实例红绿灯效果网页

    4. 添加事件监听器:为开、关按钮添加点击事件监听器。当用户点击“开”按钮时,启动定时器;点击“关”按钮时,清除定时器。 以下是一个简化版的代码示例: ```html &lt;!DOCTYPE html&gt; .light { width: 50...

    javascript代码和网页演示

    事件监听器允许我们在特定事件发生时执行代码,这在创建交互式网页时至关重要。此外,还有定时器(setTimeout和setInterval)用于延迟或周期性执行任务,AJAX(异步JavaScript和XML)用于后台加载数据,实现无刷新...

    定时器这是自己做的定时器

    这需要理解事件循环和事件监听器的工作方式。 7. **跨平台兼容性** - 如果该定时器是一个桌面应用,可能需要考虑跨平台兼容性,如Windows、MacOS和Linux。这可能涉及到使用跨平台框架,如Qt、Electron或JavaFX。 ...

    JavaScript小技巧全集 JavaScript教程 JavaScript源代码集

    通过添加事件监听器,可以响应用户的点击、鼠标移动等行为。例如,给按钮添加点击事件: ```javascript document.getElementById("myBtn").addEventListener("click", function() { alert("Button clicked!"); }); ...

    JavaScript-定时器0~9抽奖系统详解(代码)

    在这个匿名函数中,我们为“开始”和“停止”按钮添加了点击事件监听器。`$("#start").click(fn)`和`$("#stop").click(clearInterval(timer))`分别对应按钮的点击响应。 2. **定时器(setInterval)**:当“开始”...

    JavaScript开发技术大全.pdf

    配合CSS选择器和事件监听,可以创建丰富的用户交互。 ES6(ECMAScript 2015)及其后续版本带来了许多新特性,如类、模块、箭头函数、解构赋值、模板字符串等,这些都极大地提升了JavaScript的编写体验和代码质量。...

    javascript经典效果示例

    通过添加事件监听器,我们可以响应用户的特定行为,比如点击按钮执行特定函数,或者在输入框中输入时实时验证输入内容。 此外,文件列表中的示例可能涵盖了一些高级JavaScript特性,如闭包、异步编程(Promise、...

    JavaScript各种效果的源代码

    例如,可以使用递归函数遍历数据结构,为每个节点创建HTML元素,并添加相应的点击事件监听器以控制节点的展开和折叠状态。 **3. JavaScript基础** 理解JavaScript的基础至关重要,包括变量、数据类型、运算符、流程...

    javascript 帮助手册学习

    事件监听器(addEventListener)和事件处理函数是实现这一功能的关键。 AJAX: 异步JavaScript和XML,尽管现在更常与JSON一起使用,AJAX允许在不刷新整个页面的情况下与服务器进行通信,实现数据的动态加载。 ...

    JavaScript教程(特效)(chm)

    掌握事件监听器的用法,可以实现更丰富的用户交互。 四、CSS操作 JavaScript可以与CSS结合,动态改变元素的样式,实现各种视觉特效。例如,通过修改元素的透明度、位置或大小来创建动画效果。 五、定时器与延迟 `...

    javascript编写的小型网站

    5. CSS3和JavaScript动画:结合CSS3的过渡和动画,以及JavaScript的定时器(setTimeout和setInterval)可以创建丰富的视觉效果。 网站可能包含以下几个部分: 1. 页眉(Header):可能包含导航菜单,使用JavaScript...

    javaScript小游戏

    这涉及到事件对象、事件监听器(addEventListener)和事件处理器。 4. **DOM操作**:Document Object Model(DOM)是HTML和XML文档的结构表示。JavaScript可以用来修改DOM元素,如创建新元素、改变元素属性、添加和...

    【JavaScript源代码】JavaScript实现简单计时器.docx

    总之,这个简单的JavaScript计时器实例展示了如何结合DOM操作、事件处理、定时器和变量管理来创建动态的用户界面。它是一个基础的交互式网页应用,有助于理解JavaScript在实际网页开发中的应用。

    JavaScript 第五章 JavaScript控制CSS

    例如,我们可以通过`addEventListener`方法为按钮添加点击事件监听器: ```javascript var button = document.querySelector('button'); button.addEventListener('click', function() { // 在按钮被点击时更改...

    javascript 经典实例大全四

    CSS3和JavaScript结合可以创建复杂的动画效果,如计时器、定时器(setTimeout和setInterval)常用于实现动态效果。 八、样式操作 JavaScript不仅可以改变DOM元素的内容,还能修改其样式。通过操作`style`对象,可以...

    JavaScript课件及练习

    1. **简单计时器/倒计时**:用JavaScript实现一个简单的计时器或倒计时器,锻炼时间管理和日期对象的使用。 2. **动态表单验证**:通过JavaScript验证用户输入,如邮箱格式、手机号码格式等。 3. **图片轮播**:...

    996个css和JavaScript的例子代码

    7. 动画与过渡:结合CSS3的动画和JavaScript的定时器,创建各种动态效果。 8. 事件处理:涵盖鼠标、键盘、触摸等事件的监听和处理。 这个资源包对于学习和提升前端技能非常有价值,你可以逐个研究这些例子,理解...

Global site tag (gtag.js) - Google Analytics