`
duncan110011
  • 浏览: 1739 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

js无法令ie8中的后台传入客户端的cookie失效,解决办法很矬

 
阅读更多

 

function getUsernameInCookie() {
	var strcookie = document.cookie;
	var arrcookie = strcookie.split("; ");
	for ( var i = 0; i < arrcookie.length; i++) {
		var arr = arrcookie[i].split("=");
		if (arr[0] == 'userInfo' && arr[1] != undefined) {
			if (arr[1].split(escape(","))[0] == 'GoodBye') {
				return '';
			} else {
				return arr[1].split(escape(","))[0];
			}
		}
	}
	return '';
}


function delCookie() {
	var date = new Date();
	date.setTime(date.getTime() - 2 * 3600 * 1000 * 24);
	document.cookie = 'userInfo=GoodBye; expire=' + date.toGMTString();
}

function addCookie(name, value, expireHours) {
	var cookieString = name + "=" + escape(value);
	if (expireHours > 0) {
		var date = new Date();
		date.setTime(date.getTime + expireHours * 3600 * 1000 * 24);
		cookieString = cookieString + "; expire=" + date.toGMTString();
	}
	document.cookie = cookieString;
}

function logout() {
	delCookie();
	$('#UserInfo').html("Welcome&nbsp;&nbsp;&nbsp;&nbsp;guest&nbsp;");
	window.location.href = "user/logout.action";
	changeText();
}

 

 用户登陆后,通过js向浏览器中写入一个会话cookie,再登出时无论在ie8,还是chrome中都没问题。

 

因登陆的jsp中有这样的一段

 

$(document).ready(function() {

		document.onkeydown = keyDown;
		if (getUsernameInCookie() != '') {
			$('#UserInfo').html(
					"Welcome&nbsp;&nbsp;&nbsp;&nbsp;" + getUsernameInCookie()
							+ "&nbsp;&nbsp;|");
			changeText();
		}
		;
	});

 再加之用户注册激活后为增加用户体验,所以自动登陆,只能在后台(Action)中向客户端传入cookie:

 

		Cookie cookie = new Cookie("userInfo", DBusername);
		cookie.setPath("/");
		response.addCookie(cookie);

 如这样,在chrome中将cookie中的时间-1可以,但在ie8中用户名还是没办法清掉,就是这句:

 

 

	date.setTime(date.getTime() - 2 * 3600 * 1000 * 24);
	document.cookie = 'userInfo=; expire=' + date.toGMTString();
 

 

所以在最上面的js中加入了‘Goodbye’当标识符用。哎~~~

谁有好的方法欢迎拍砖!

分享到:
评论

相关推荐

    jQuery 操作客户端Cookie1

    在本篇文章中,我们将探讨如何使用 jQuery 操作客户端的 Cookie,这是在网页应用中存储和检索用户数据的一种常见方法。 首先,我们需要引入 jQuery 和用于 Cookie 操作的插件。在示例代码中,我们看到引入了两个 ...

    cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击.zip_js设置cookie值

    当一个Cookie被设置为HttpOnly时,JavaScript无法通过Document.cookie API或其他方式访问到这个Cookie。这样一来,即使网页中存在XSS漏洞,恶意脚本也无法窃取到包含敏感信息的Cookie,从而降低了攻击者盗取用户身份...

    jquery.cookie.js 存取cookie例子

    在网页开发中,Cookie是一种非常重要的技术,用于存储客户端的小量数据。`jQuery.cookie.js` 是一个方便的jQuery插件,它简化了JavaScript操作Cookie的过程。在这个实例中,我们将深入探讨如何使用`jquery.cookie.js...

    jquery.cookie.js包

    `jquery.cookie.js`是jQuery的一个扩展插件,它使得在Web应用中管理和操作Cookie变得更加简单。本篇文章将深入探讨`jquery.cookie.js`包及其在实现“记住密码”功能中的应用。 首先,我们来了解什么是Cookie。...

    Luckyexcel 解析Excel后台传入 file

    完美解决从服务器端读取文件传入前端

    asp.net中后台c#数组与前台js数组交互

    ASP.NET中后台C#数组与前台JS数组交互 在ASP.NET中,后台C#数组与前台JS数组的交互是一个常见的问题。前台JS数组需要从后台C#数组中获取数据,而后台C#数组则需要从数据库中获取数据。下面我们将详细介绍如何实现这...

    查询IE Cookie C++

    在IT行业中,尤其是在软件开发领域,理解如何与浏览器交互,特别是获取和操作Cookie,是至关重要的。本篇文章将深入探讨如何使用C++编程语言来查询Internet Explorer(IE)的Cookie。Cookie是Web服务器存储在用户...

    Javascript Cookie操作类的封装

    在JavaScript中,Cookie是一种在客户端存储少量数据的机制,它对于网页应用的用户状态管理和临时存储信息具有重要作用。本文将详细讲解如何封装一个Cookie操作类,实现对Cookie的增删改查功能。 首先,理解Cookie的...

    jquery-cookie

    在Web开发中,Cookie是用于存储客户端数据的一种机制,它可以跟踪用户的浏览行为、保存用户设置或者在用户访问不同页面时保持会话状态。`jquery-cookie-v1.4.0-24`版本是该插件的一个稳定版本,包含了核心的`jquery....

    javaScript如何处理从java后台返回的list

    事情: 从java后台返回List类型数据,用于界面显示。但js中想获取它并操作它。直接使用EL表达式,js把它识别成字符串了。不是我想要的啊。。网上搜了搜大家的解决方案…最好的当然是把List集合转成json格式传到界面...

    websocket客户端(二种方式JS和后台代码)

    在本文中,我们将探讨两种实现WebSocket客户端的方法:JavaScript和后台代码。 ### JavaScript 实现WebSocket客户端 #### 1. 创建WebSocket对象 在JavaScript中,创建WebSocket对象是通过`new WebSocket()`完成的...

    ie浏览器 js调用 ocx 异步打印pdf、图片控件

    在IT行业中,JavaScript是一种广泛使用的客户端脚本语言,主要用于网页交互和动态内容的实现。而OCX(Object Linking and Embedding, Control)是微软在Windows平台上提供的一个控件技术,它允许开发者创建可重用的...

    Php表单数据传入数据库与mysql数据库数据发送客户端技术.docx

    Php 表单技术数据传入与传出技术是指使用 Php 语言将客户端提交的数据传入数据库,并将数据库中的数据发送回客户端的技术。这种技术广泛应用于各种 Web 应用程序中,如用户注册、登录、数据提交等。 Php 表单技术...

    jquery.cookie.js 以及用法 cookie读取与存储

    总结,`jquery.cookie.js`简化了JavaScript对Cookie的操作,使得在Web应用中管理用户数据变得更加便捷。然而,随着Web Storage(localStorage和sessionStorage)以及IndexedDB等现代存储技术的出现,对于大量数据或...

    JQcookie实例

    在网页开发中,Cookie是一种非常重要的技术,用于存储用户数据,如登录状态、偏好设置等。JQuery库的出现简化了JavaScript的许多操作,其中包括处理Cookie。本实例将重点介绍如何使用jQuery的一个插件——JQcookie,...

    JS调用后台带参数的方法

    根据给定的信息,本文将详细解释“JS调用后台带参数的方法”。这涉及到前端JavaScript与后端服务之间的交互,特别是如何在发送请求时携带参数。 ### JS调用后台带参数的基本概念 在Web开发中,前端(通常是...

    使用js实现将后台传入的json数据放在前台显示

    如下所示: {idCardAddress:123,idCardNumber:345,eRegAddress:456} 后台传过来的数据是这样的,前台无法通过el表达式直接获取,通过 ...以上这篇使用js实现将后台传入的json数据放在前台显示就是小编分享

    JS读取COOKIE.txt

    ### JS读取COOKIE知识点详解 #### 一、概述 在Web开发中,Cookie是一种非常重要的技术,用于存储用户的浏览偏好、登录状态等信息。通过JavaScript(简称JS)操作Cookie,可以实现用户信息的记忆功能,提高用户体验...

    java对cookie的操作java对cookie的操作

    Java中的Cookie操作是Web开发中常见的一种技术,用于在客户端和服务器之间传递状态信息。Cookie是一种小型文本文件,由服务器发送到用户的浏览器,并由浏览器在后续请求中返回给服务器。以下将详细介绍Java如何进行...

    layer图片放大旋转IE8.rar

    在IE8这样的老版本浏览器中,由于缺乏现代的CSS3 transform属性,开发者可能需要借助JavaScript手动计算图片的坐标和大小,实现平滑的缩放效果。可能还会用到一些像jQuery的animate()函数来实现动画效果,使放大过程...

Global site tag (gtag.js) - Google Analytics