Cookie会在Chrome中删除,但Firefox不会删除吗?

时间:2016-11-26 20:01:47

标签: javascript php html cookies

我用HTML,PHP和JS编写购物车。我有一个onclick功能删除cookie并刷新页面,从购物车中删除该项目。这适用于Chrome,Cookie已删除。我在Firefox中使用相同的代码,但它不起作用:在Firefox中没有删除cookie。这是具有onclick属性的元素:

echo '<button class="button" onclick="removeCart' . $x . '()">Remove from Cart</button>';

这里的功能是:

                echo '<script>';
                echo 'function removeCart' . $x . '() {';
                echo 'document.cookie = "' . $itemsSpaced[$x] . '= ; expires=Thu, 01 Jan 1970 00:00:00 UTC";';
                echo ' location.reload(true);';
                echo '}';
                echo '</script>';

为什么这适用于Chrome,而不适用于Firefox?

1 个答案:

答案 0 :(得分:1)

您应该确保在删除Cookie时添加相同的pathdomain属性(如果您指定了其中任何一个)。这是因为这两个属性决定了cookie的可访问性。

例如,您可以使用两个具有相同名称但使用不同路径链接的Cookie。如果不指定路径,删除哪一个是不明确的。显然,Firefox比Chrome更好。如果没有路径规范,则不应删除cookie。

所以您应该将代码更改为:

echo 'document.cookie = "' . $itemsSpaced[$x] . '= ; path=/cart; expires=Thu, 01 Jan 1970 00:00:00 UTC";';