Javascript RESTful cookie路径在IE中失败,没有尾部斜杠

Javascript RESTful cookie路径在IE中失败,没有尾部斜杠,javascript,internet-explorer,cookies,path,rest,Javascript,Internet Explorer,Cookies,Path,Rest,例如,我被要求在包含RESTful URL的页面上构建一个选项卡式部分,而不包含尾部斜杠(.netmvc) 为了使选项卡式部分更加用户友好,我希望他们在用户移动时记住每页上打开的选项卡,这样,如果他们返回到一本书,他们以前在同一个选项卡上的选项卡将保持打开状态。这是通过设置一个名为“tab”的cookie来实现的,该cookie的值设置为tabid,路径设置为它们所在的页面(因此它不会影响其他页面上的选项卡)。到目前为止,你会认为这是非常基本的东西,而且它也非常有效 进入Internet Exp

例如,我被要求在包含RESTful URL的页面上构建一个选项卡式部分,而不包含尾部斜杠(.netmvc)

为了使选项卡式部分更加用户友好,我希望他们在用户移动时记住每页上打开的选项卡,这样,如果他们返回到一本书,他们以前在同一个选项卡上的选项卡将保持打开状态。这是通过设置一个名为“tab”的cookie来实现的,该cookie的值设置为tabid,路径设置为它们所在的页面(因此它不会影响其他页面上的选项卡)。到目前为止,你会认为这是非常基本的东西,而且它也非常有效

进入Internet Explorer

在IE中,带有path/books/amber-spyglass的cookie与上述URL不匹配,因此无法正确设置。如果我添加一个尾随斜杠,路径是/books/theamber-spyglass/,那么它可以正常工作-但是我不能更改我们的URL模式,即使我可以更改,“amber-spyglass”是一个资源,而不是一个文件夹

有没有人推荐解决这个非常普遍的问题的方法

多谢各位

JS

参见

由于在 基础WinINET InternetGetCookie 实现,IE的document.cookie 如果设置了cookie,则不会返回cookie 具有包含 文件名

例如,如果页面设置了cookie 就其本身而言:

设置Cookie: HTTPSet PathCookie=PASS;path=/check.htm

…cookie将通过HTTP发送 请求,但不会出现在 document.cookie集合


感谢您澄清这一点,我已经实现了一个不同的解决方案,其中cookie名称是基于URL生成的。这远远不够理想,因为它会在点击一定数量的标签后(我相信IE中有20个)开始覆盖cookies。我刚刚做了一个测试,在点击了52个标签后,根据IE devtools中的“cookie信息”工具,所有cookies仍然存在。这不是我所期望的,因为我在很多地方看到IE在每个域中最多存储20个cookie(Firefox为50个)。这是怎么回事?2007年8月,所有IE版本中每个域的cookies限制都更改为50个。