通过 JavaScript 编写 cookie
Writing cookies via JavaScript
我正在使用此代码打开一个html弹出窗口,希望在其中添加一个"不再显示"按钮,该按钮将在cookie中存储首选项,以便弹出窗口不会再次显示为什么它不起作用?
这是应该写入 cookie 的行:
document.cookie = "dontShow=1; path=/; expires=Wednesday, 01-Jan-2020 12:00:00 GMT; domain=.qpcftw.co.cc";
更新:问题是cookie没有存储,并且"alert(document.cookie);"(见下文)显示 cookie 为空(未显示任何内容)。
这是完整的JS代码:
/***************************/
//@Author: Adrian "yEnS" Mato Gondelle
//@website: www.yensdesign.com
//@email: yensamg@gmail.com
//@license: Feel free to use it, but keep this credits please!
/***************************/
var popupStatus = 0;
$(document).ready(function(){
if (document.cookie != "dontShow=1; path=/; expires=Wednesday, 01-Jan-2040 12:00:00 GMT; domain=.qpcftw.co.cc"){
$("#backgroundPopup").css({
"opacity": "0.75"
});
$("#backgroundPopup").fadeIn(1000);
$("#popupContact").fadeIn(1000);
popupStatus = 1;
}
//CLOSING POPUP
//Don't show again
$("#dontShow").click(function(){
document.cookie = "dontShow=1; path=/; expires=Wednesday, 01-Jan-2020 12:00:00 GMT; domain=.qpcftw.co.cc";
alert(document.cookie); //4debugging
disablePopup();
});
//Click the x event!
$("#popupContactClose").click(function(){
disablePopup();
});
//Click out event!
$("#backgroundPopup").click(function(){
disablePopup();
});
//Press Escape event!
$(document).keypress(function(e){
if(e.keyCode==27 && popupStatus==1){
disablePopup();
}
});
});
//disabling popup with jQuery magic!
function disablePopup(){
//disables popup only if it is enabled
if(popupStatus==1){
$("#backgroundPopup").fadeOut(500);
$("#popupContact").fadeOut(500);
popupStatus = 0;
}
}
试试这个:
小提琴演示
document.cookie = 'dontShow=1; expires=Wed, 01 Jan 2020 12:00:00 GMT; path=/';
function readCookie(option) {
var optionEQ = option + '=';
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, c.length);
}
if (c.indexOf(optionEQ) === 0) {
return c.substring(optionEQ.length, c.length);
}
}
return false;
}
if (!readCookie('dontShow')) {
//run your popup code
}
编辑:或者,作为自定义jQuery插件:
插件版本小提琴
document.cookie = 'dontShow=1; expires=Wed, 01 Jan 2020 12:00:00 GMT; path=/';
(function($) {
$.fn.readCookie = function(option) {
var optionEQ = option + '=';
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, c.length);
}
if (c.indexOf(optionEQ) === 0) {
return c.substring(optionEQ.length, c.length);
}
}
return false;
}
})(jQuery);
if (!$(document).readCookie('dontShow')) {
$('#cookie-status').html('<p>Cookie not set.</p>');
} else {
$('#cookie-status').html('<p>Cookie has been set.</p>');
}
希望这有帮助! :)
相关文章:
- 如何编写HTML输入的JS内联
- 在jquery中为显示/隐藏设置cookie
- 按下按钮时保存cookie
- 如何编写一个具有公共标头的批处理
- 在Redux中,我应该在哪里编写复杂的异步流
- 用玉石编写书法和手写笔
- 为函数代码编写测试
- 如何在Analytics.js中始终了解最新的cookie过期时间
- 使用 c# 编写 cookie,使用 javascript 读取
- 通过 JavaScript 编写 cookie
- 获取用于编写JavaScript cookie的复选框
- 使用Javascript编写cookie(和奶油)的代码
- 不能在一个页面上编写cookie,Safari iOS
- 从JavaScript调用cookie时,编写cookie的速度有多快
- 给定子域中的cookie,您可以编写一个返回代理服务器主机名的javascript函数吗
- 在javascript中读取cookie,由asp.net c#编写代码
- 如何在JavaScript中编写一个cookie来记住用户名
- 在VB.NET中编写cookie,如何在Javascript中提取
- 用JavaScript编写一个非常简单的cookie
- 使用Javascript编写asp风格的cookie(带键);使用经典ASP读取