我正在创建如下所示的cookie。我知道网站 A 无法从网站 B 读取 cookie,但我想知道插件是否可以这样做?我有一个浏览器扩展/插件,它具有简约的界面并提供登录功能,但它有一个“转到仪表板”链接,我不想让用户再次登录。然后他们将不得不再次注销。如果这是不可能的,我还有什么其他选择
function create_cookie(name, value, days) {
var expires;
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = "; expires=" + date.toGMTString();
} else {
expires = "";
}
document.cookie = encodeURIComponent(name) + "=" + encodeURIComponent(value) + expires + "; path=/";
}
例如,作为您的标签,Chrome 扩展允许通过
chrome.cookies
(开发者 Chrome)
访问给定来源集的 cookie。您必须在扩展清单中请求访问 cookie 和相对来源,以便实际设置该属性并可用于某些站点。如果您不请求权限,chrome 会保留该属性
undefined
。使用chrome.cookies
,您可以自由访问设置、读取和写入的cookie,并且当cookie更改时,您还可以通过JS事件系统获得扩展内通知。
请注意,对于 Chrome 策略,当用户安装扩展程序时,将收到有关您当前要求哪些网站提供 Cookie 的通知,以及您在清单中要求的所有权限。这也是一种良好的行为,我认为根据您所在的国家/地区,通常还存在一项法律义务,即随时通知您的用户您实际上在某些网站上存储/使用他们的 cookie,以及您将如何处理它们.
如果您打算仅将 Cookie 用于存储信息,而不是用于某种网站 Cookie 操作,通常浏览器(如 Chrome)会公开其
localStorage/sessionStorage
,或者也基于文件系统的特定扩展存储(如
chrome.storage
) (开发者 Chrome)),允许您在用户会话之间存储信息。这种存储方式更可取,因为对用户隐私的侵犯较小。