Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 删除在函数外部工作的cookie,但不删除在函数中工作的cookie_Javascript_Cookies_Setcookie - Fatal编程技术网

Javascript 删除在函数外部工作的cookie,但不删除在函数中工作的cookie

Javascript 删除在函数外部工作的cookie,但不删除在函数中工作的cookie,javascript,cookies,setcookie,Javascript,Cookies,Setcookie,我试图删除cookie并从函数(cookie\u approve的内部)中设置新的cookie,但它不起作用,但如果我将其放在函数外部,它将删除cookie 我的意思是:页面上有一个div。用户单击此分区内的按钮(onClick事件)。将创建Cookie。下次用户返回(或刷新站点)时,此div将不会出现 这是我的代码: //create cookie function createCookie(name, value, days) { if (days) { var date = new

我试图删除cookie并从函数(cookie\u approve的内部)中设置新的cookie,但它不起作用,但如果我将其放在函数外部,它将删除cookie

我的意思是:页面上有一个div。用户单击此分区内的按钮(onClick事件)。将创建Cookie。下次用户返回(或刷新站点)时,此div将不会出现

这是我的代码:

//create cookie
function createCookie(name, value, days) {
if (days) {
    var date = new Date();
    date.setTime(date.getTime() + (10000 * 24 * 60 * 60 * 1000));
    var expires = "; expires=" + date.toUTCString();
} else var expires = "";
document.cookie = escape(name) + "=" + escape(value) + expires + "; path=/";
}

//read cookie val
function readCookie(name) {
var nameEQ = escape(name) + "=";
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(nameEQ) == 0) return unescape(c.substring(nameEQ.length, c.length));
}
return null;
}

//change cookie date  
function eraseCookie()
{
document.cookie = 'cookie_approve=; expires='+new Date(0).toUTCString() +'; path=/';
}

//hide div after click, create cookie with val=1 for 7 days
function cookie_approve(){
eraseCookie();
createCookie("cookie_approve", 1, 7);

document.getElementById('cookie_show_info').style.display = "none";
}

if(readCookie("cookie_approve") == undefined){
createCookie("cookie_approve", 0, 7);
}

function show_cookie(){
    document.getElementById('cookies_rules').style.display = "block";
}

function hide_cookie(){
document.getElementById('cookies_rules').style.display = "none";
}

document.write('<div id="cookie_show_info" style="display: none;">Text <div id="cookies_rules">Cookie rules</div>    <a onClick="cookie_approve()">Button</a></div>');

if(readCookie("cookie_approve") == 0){
document.getElementById("cookie_show_info").style.display = "block";
}
//创建cookie
函数createCookie(名称、值、天数){
如果(天){
变量日期=新日期();
date.setTime(date.getTime()+(10000*24*60*60*1000));
var expires=“;expires=“+date.toutString();
}else var expires=“”;
document.cookie=escape(名称)+“=”+escape(值)+expires+“路径=/”;
}
//读取cookie val
函数readCookie(名称){
var nameEQ=escape(name)+“=”;
var ca=document.cookie.split(“;”);
对于(变量i=0;i
谢谢你的帮助

您的橡皮擦cookie()函数看起来有点奇怪

试试这些,也许:

function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function eraseCookie(name) {
    createCookie(name,"",-1);
}

来源:

什么东西不起作用,创建还是删除?createCookie()函数是什么样子的?我的代码上面有createCookie函数。正如我前面提到的:我尝试删除cookie,并使用onClick event.Nope使用new val=1重新创建它,但不起作用。正如我之前所说:我单击按钮链接(带有onclick事件),但是cookie没有改变。Val=0。看起来无法使用onClick事件更改cookie。可能吗?你能摆好小提琴吗?这个按钮还有别的吗?您是否设置了默认属性?您可以在上找到的所有内容。页面底部的粉红色div:)Akceptuj是按钮(隐藏并创建val=1的cookie)。我注意到:Debugger发现了如下内容:TypeError:document.cookie.split不是一个函数我找不到代码的问题,但您使用的是jquery,您尝试过jquery cookie函数吗?好的,我找到了问题所在。谷歌分析已经破坏了我的脚本。现在一切正常:)谢谢大家的支持。