1

这个问题基本上解释了这一切,我试图在 PHP 中删除 cookie 并发送 JS 来删除 cookie,而不是仅在 Chrome 中工作......

<?php
  unset( $_COOKIE['name'] );
  setcookie('name', '', time() - 3600 ); // empty value and old timestamp
?> 
<script type="text/javascript">
    function deleteCookie( name ) {
       document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:01 GMT;';
    }
    deleteCookie('name');

</script>
<a href="cookie.php">cookie</a>

感谢所有帮助,谢谢!

编辑:Firefox 中的 Firebug 没有显示任何错误,PHP 错误日志没有显示任何内容……我能看到的唯一另一件事是 chrome 似乎保留了 1 个特定值。name=ABCDE ...如果我将其更改为 name=ABC 然后删除 name=ABC 它会显示 name=ABCDE,如果我删除 name=ABCDE 它仍然会显示 name=ABCDE

4

2 回答 2

1

为什么不尝试在删除时将 cookie 的值更改为不同的值?

这将避免将到期日期设置为过去的日期并希望浏览器将其删除的问题。

因此,例如,ABCDE=deleted; expires=Thu, 01 Jan 1970 00:00:01 GMT;而不是ABCDE=;expires=Thu, 01 Jan 1970 00:00:01 GMT;

现在您可以检查它是否应该被删除,但仍然存在于 Chrome 中:

if(document.cookie.indexOf('ABCDE=deleted') !== -1) 
{
    // cookie still exists, but was supposed to be deleted
}
于 2013-10-12T21:54:46.467 回答
0

在开发过程中的某个地方,一些线路被交叉,我进入了 chrome 设置并删除了我域中的 cookie 和所有数据:

https://superuser.com/questions/548096/how-can-i-clear-cookies-for-a-single-site

现在效果很好!我在论坛上看到其他人有同样的问题,我鼓励你也这样做......

我什至不再发送 JS 代码 PHP 会处理它!

于 2013-10-14T06:30:13.437 回答