首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在同一个浏览器中为不同的选项卡创建和维护不同的cookie

在同一个浏览器中为不同的选项卡创建和维护不同的cookie
EN

Stack Overflow用户
提问于 2013-06-27 05:48:09
回答 2查看 2K关注 0票数 0

我希望使用asp.net和c#在同一个浏览器中为不同的选项卡创建和维护不同的cookie。我想要创建只允许一个选项卡访问的cookie。如果使用另一个选项卡发出另一个请求,那么它将被视为该选项卡的新请求,并为该新选项卡创建cookie。

因此,我希望在同一个浏览器中为所有选项卡提供唯一的cookie。我如何使用C#代码来做到这一点呢?

EN

回答 2

Stack Overflow用户

发布于 2013-06-27 06:26:34

我认为您无法告诉浏览器“只读取此页在此选项卡中的此cookie”,以及“仅在此另一选项卡中为同一页读取该其他cookie”。您可能需要读取页面的每个实例(即每个不同的选项卡)的所有cookie,然后在cookie本身中使用某种标识符来决定在特定情况下使用哪一个。

--一个总体想法:

如果您可以向cookie添加一个容易读的“键”,那么您可以遍历所有这些“键”,并且只能使用来自cookie的值,其中的键与页面中的一个键相匹配。

服务器可以为每个新请求生成页面中的键。您可以将其存储在“隐藏”类型的输入字段中(或者可能在viewstate存储中?)。

票数 1
EN

Stack Overflow用户

发布于 2017-03-06 21:19:42

在javascript中,只有当您已经在路径上设置cookie时,才能按路径设置cookie:

如果您在www.yourwebsite.com/firstTab,您可以设置这个cookie:

代码语言:javascript
运行
复制
document.cookie = "myField=blah;expires=10/10/2020;path=/firstTab";

如果您在www.yourwebsite.com/secondTab,您可以设置这个cookie:

代码语言:javascript
运行
复制
document.cookie = "myField=blah2;expires=10/10/2020;path=/secondTab";

如果您转到/firstTab并执行document.cookie,您只会看到myField=blah,如果在/secondTab中做同样的操作,则只会看到myField=blah2下面是 javascript的W3Schools教程。

如果您想要包含从C#传递的信息,只需将其添加到一个隐藏字段中,并使用javascript从其中获取。

警告

如果您的选项卡带您到不同的路径,那么这是可行的。但是,如果您只使用散列,那么它将无法工作,因为哈希不是路径的一部分。您可以在document.location中看到这一点。您必须在选项卡之间共享cookie,并自己解析这些值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17335418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档