cookie和会话在该代码中的工作方式
how cookie and session work in this code?
几天前,我问我的朋友关于我网站的会话以及如何使其正确工作,他在这里给了我这个代码。。。
var $ = jQuery.noConflict();
$(document).ready(function () {
/*$("a").each(function() {
$(this).attr("hideFocus", "true");
});*/
jQuery.cookie = function (name, value, options) {
if (typeof value != 'undefined') {
options = options || {};
if (value === null) {
value = '';
options.expires = -1;
}
var expires = '';
if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
var date;
if (typeof options.expires == 'number') {
date = new Date();
date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
} else {
date = options.expires;
}
expires = '; expires=' + date.toUTCString();
}
var path = options.path ? '; path=' + (options.path) : '';
var domain = options.domain ? '; domain=' + (options.domain) : '';
var secure = options.secure ? '; secure' : '';
document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
} else {
var cookieValue = null;
if (document.cookie && document.cookie != '') {
var cookies = document.cookie.split(';');
for (var i = 0; i < cookies.length; i++) {
var cookie = jQuery.trim(cookies[i]);
if (cookie.substring(0, name.length + 1) == (name + '=')) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
return cookieValue;
}
};
我注意到代码中的过期,但我不知道它在程序中到底在做什么?如果可能的话,我只想有人简单地解释一下上面的代码。谢谢
cookie是用户浏览网站时从网站发送并存储在用户web浏览器中的一小段数据。
有一些参数可以调节浏览器中cookie的行为
- cookie的名称
- cookie的值
- cookie的到期时间(使用格林尼治标准时间)
- cookie适用的路径
- cookie适用的域
- 需要安全连接才能使用cookie
在像PHP这样的服务器端语言的会话组合中,它们可以用来存储用户的状态。比如用户登录或注销、权限等。
上面的代码设置或获取存储在用户浏览器中的cookie的值。
参考:
- http://en.wikipedia.org/wiki/HTTP_cookie
- http://en.wikipedia.org/wiki/Session_(计算机科学)
相关文章:
- 为什么这在IE中的工作方式与在Firefox中不同
- 如何获得一个与用“”声明的变量工作方式相同的变量;设“;或在with块中
- javascript中的闭包对我来说工作方式不同
- for循环在node.js中的工作方式
- document.getElementsByClassName的工作方式与getElementById不同
- jQuery的工作方式不一样
- 为什么模块化幂函数在 Python 和 Javascript 中对于大数字的工作方式不同
- 自动滚动工作方式不同
- 布尔表达式-与AND、OR逻辑运算符混淆以及它们的工作方式
- Javascript ORing在变量中的工作方式
- Chrome扩展和Chome浏览器中的Jquery工作方式不同
- .htaccess和.htpasswd的内部工作方式
- window.location在IE9和FF中的工作方式不同
- jQuery .focus() 在每个浏览器中的工作方式不同.如何防止这种情况
- jquery-ajax 在 Mozilla 和 Chrome 中的工作方式不同
- 字符串包在 Firefox 25 中的工作方式不同
- 加载的JS的工作方式与硬编码不同
- event.target在手机上的工作方式是否不同
- iframe上的onload事件在IE和Firefox / GoogleChrome中的工作方式不同
- 为什么一串数字的工作方式与新日期中的实际数字不同