我的问题是:会话 cookie 是否受站点路径的限制?也就是说,如果在mysite.net/rodents/gerbil/中设置了一个 cookie ,它是否不适用于另一个路径,例如mysite.net/rodents/hamster?
上下文是:
我在http://sonet.nottingham.ac.uk/rlos/placs/users_carers/home开发了一个简单的站点,我想在其中使用 cookie 来允许页面旁白在用户输入时自动启动或不启动页。默认情况下自动启动是关闭的,但是如果用户勾选顶部音频播放器的复选框并转到另一个页面,则在 PHP (CodeIgniter)中将 cookieautoplay
设置为on
并且 playerautostart
参数设置为。true
据 Firebug 称,这在站点部分(例如主页)中工作正常,但是当用户移动到另一个部分(例如下一步)时,cookie 会消失。因此,如果我勾选 Home 中的复选框,则 FB 会报告 cookie:
- 名称:自动播放
- 值:开
- 域: sonet.nottingham.ac.uk
- 尺寸:10 B
- 路径:/rlos/placs/users_carers/
- 过期:会话
如果我转到主页中的另一个页面,cookie 仍然存在。如果我转到下一步,cookie 就会消失,但如果我勾选复选框,FB 会报告 cookie 已设置但路径为“/rlos/placs/users_carers/steps/”。有趣的是,在各个部分之间切换并选中该框会为每个路径生成一个 cookie。
到目前为止,我还没有真正在我的网站中使用过 cookie,我更喜欢 PHP 会话变量,但我认为设置会话 cookie 很简单,出于某种原因,我不会厌烦人们,我希望使用 jQuery 设置客户端的 cookie。我可以通过设置一个持久性 cookie 来解决这个问题,但是 a) 我不想在用户的机器上留下一个 cookie,并且 b) 我想知道发生了什么翻转。
可能是我没有采取最好的方法,但是这个项目必须在星期二之前完成,所以我无法重做我的方法。