我正在尝试开发一个能够记住页面刷新后状态的脚本。
这是我到目前为止所做的。
jQuery的:
$(window).ready(function() {
var voteId = $('.gallery-item a');
$(voteId).click(function() {
$(this).text('Thank you!');
$(this).css('background-color', 'green');
});
});
我试过这个,但没有运气:
jQuery的:
var cookies = document.cookie.split(";");
for(var i=0; i < cookies.length; i++) {
var equals = cookies[i].indexOf("=");
var name = equals > -1 ? cookies[i].substr(0, equals) : cookies[i];
document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";
}
答案 0 :(得分:3)
设置Cookie
以下功能的参数是 Cookie(cname)的名称,Cookie的值(cvalue)以及Cookie之前的天数过期(exdays)。
该函数通过将cookiename,cookie值和expires字符串相加来设置cookie。
function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires="+d.toUTCString();
document.cookie = cname + "=" + cvalue + "; " + expires;
}
获取Cookie
将cookiename作为参数(cname)。
使用文字创建变量(名称)以搜索(cname +&#34; =&#34;)。
将分号上的document.cookie拆分为名为ca的数组(ca = document.cookie.split(&#39 ;;&#39;))。
循环通过ca数组(i = 0; i
如果找到cookie (c.indexOf(name)== 0),则返回cookie的值(c.substring(name.length,c) 。长度)强>
如果找不到cookie,请返回&#34;&#34;。
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1);
if (c.indexOf(name) == 0) return c.substring(name.length,c.length);
}
return "";
}
设置并获取
setCookie("message", "Thank You", 365);
setCookie("color", "#0F0", 365);
var message=getCookie("message");
var color=getCookie("color");
这将设置两个Cookie 消息和颜色,exp为1年。 您也可以使用JSON数组完成所有操作。
答案 1 :(得分:0)
看看JS Cookie,因为它不需要jQuery。
用于处理Cookie的简单轻量级JavaScript API
适用于所有浏览器
接受任何角色
经过严格测试
没有依赖
不引人注目的JSON支持
支持AMD / CommonJS
符合RFC 6265
启用自定义解码
非常好的维基
~800字节gzipped!
https://github.com/js-cookie/js-cookie
Cookies.set('name', 'true', { expires: 7, path: '' });
Cookies.get('name'); // => 'true'
Cookies.remove('name', { path: '' });