通过JavaScript编写cookie
我使用此代码打开一个html弹出窗口,希望在其中添加一个“不再显示”按钮,该按钮将在cookie中存储首选项,这样弹出窗口就不会再次显示 为什么不起作用 这是应该写入cookie的行:通过JavaScript编写cookie,javascript,cookies,popup,Javascript,Cookies,Popup,我使用此代码打开一个html弹出窗口,希望在其中添加一个“不再显示”按钮,该按钮将在cookie中存储首选项,这样弹出窗口就不会再次显示 为什么不起作用 这是应该写入cookie的行: document.cookie = "dontShow=1; path=/; expires=Wednesday, 01-Jan-2020 12:00:00 GMT; domain=.qpcftw.co.cc"; 更新:问题在于cookie没有存储,并且“警报(document.cookie);”(见下文)显示
document.cookie = "dontShow=1; path=/; expires=Wednesday, 01-Jan-2020 12:00:00 GMT; domain=.qpcftw.co.cc";
更新:问题在于cookie没有存储,并且“警报(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,2020年1月1日12:00:00 GMT;路径=/';
函数readCookie(选项){
var optionEQ=期权+'=';
var ca=document.cookie.split(“;”);
对于(变量i=0;i
编辑:或者,作为自定义jQuery插件:
document.cookie='dontShow=1;expires=Wed,2020年1月1日12:00:00 GMT;路径=/';
(函数($){
$.fn.readCookie=函数(选项){
var optionEQ=期权+'=';
var ca=document.cookie.split(“;”);
对于(变量i=0;i”);
}否则{
$(“#cookie status').html(“cookie已设置。”);
}
希望这有帮助!:) 试试这个:
document.cookie='dontShow=1;expires=Wed,2020年1月1日12:00:00 GMT;路径=/';
函数readCookie(选项){
var optionEQ=期权+'=';
var ca=document.cookie.split(“;”);
对于(变量i=0;i
编辑:或者,作为自定义jQuery插件:
document.cookie='dontShow=1;expires=Wed,2020年1月1日12:00:00 GMT;路径=/';
(函数($){
$.fn.readCookie=函数(选项){
var optionEQ=期权+'=';
var ca=document.cookie.split(“;”);
对于(变量i=0;i”);
}否则{
$(“#cookie status').html(“cookie已设置。”);
}
希望这有帮助!:) Cookie对我来说是新事物,更不用说本地存储=/而且它似乎有些过分,不是吗?
localStorage
更易于使用。写/读cookies是一种痛苦。这并不过分。这是cookies 2.0。如果您能指定“不工作”,这将有所帮助。发生了什么,这与您的预期有什么不同?您是否收到任何错误消息?您是否检查了cookie是否存储在浏览器中?最简单的方法是将jquery与“jquery cookie plugin”if($.cookie('dontShow'))。。。否则…
Cookies对我来说都是新鲜事,更不用说本地存储了=/这似乎有些过分,不是吗?localStorage
更容易使用。写/读cookies是一种痛苦。这并不过分。这是cookies 2.0。如果您能指定“不工作”,这将有所帮助。发生了什么,这与您的预期有什么不同?您是否收到任何错误消息?您是否检查了cookie是否存储在浏览器中?最简单的方法是将jquery与“jquery cookie plugin”if($.cookie('dontShow'))。。。否则…
我用jquery:)算出了,“!”是什么意思在if(!readCookie('dontShow'){//运行弹出代码}中,意思是?@XAleXOwnZX
是非运算符。代码基本上是说如果不读取cookie dontShow
——换句话说,如果cookie不存在或未设置(它无法读取,因此未设置),它将运行您的弹出代码。我用jquery:计算出来,“!”是什么意思在if(!readCookie('dontShow'){//运行弹出代码}中,意思是?@XAleXOwnZX
是非运算符。代码基本上说是如果不读取cookie dontShow
——换句话说,如果cookie不存在或尚未设置(它无法读取,因此未设置),它将运行您的弹出代码。
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
}
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>');
}