温馨提示:本文翻译自stackoverflow.com,查看原文请点击:javascript - Setting cookie in Internet Explorer 3.0?
cookies html http javascript internet-explorer-3

javascript - 在Internet Explorer 3.0中设置cookie?

发布于 2020-04-07 10:54:53

我在Internet Explorer 3.0中设置会话Cookie时遇到问题。有谁知道是否需要做一些特别的事情?

我正在使用PHP,例如: setcookie('test', '1');

我没有使用路径或到期时间,这有必要吗?

也许有人有一些旧的经验,还是周围有1997-1998年的Web开发书?

万一有人想知道为什么我要为此烦恼,因为没有人再使用IE3,很难,这是一个艺术项目。

编辑:只是为了澄清,我还没有尝试通过JS设置cookie,这是通过HTTP完成的。

查看更多

提问者
i-g
被浏览
135
i-g 2020-02-03 16:44

因此,我已经深入到此问题的深处,有三个原因引起我的困惑:

首先,如果您没有为cookie设置path =参数,则IE3将假定该cookie 仅用于此确切路径这意味着它将在/test.php再次访问时发送回相同的cookie ,但在网站上其他任何地方都不会发送

解决方案是在设置cookie时包含path = /。

其次,IE3无法识别没有Expires参数的cookie。解决方案是在Set-Cookie标头中以“标准” cookie格式包含Expires =。

第三个是由新的Max-Age参数引起的,由于某些原因,PHP有用地添加了该参数,IE3无法识别该参数。相反,它假设cookie名称直到Max-Age为止,包括Max-Age。

解决方案是改为使用PHP的header()函数设置cookie ,如下所示:

header('Set-Cookie: test2=hi; expires=Tue, 02-Feb-2021 04:20:00 GMT; path=/');

(在这种情况下,test2是cookie的名称,hi是其中的内容,它从2月2日起从今天开始大约一年后过期。)