我正在创建如下cookie。我知道website A can't read a cookie from website B,但我想知道是否有插件可以这样做?我有一个浏览器扩展/插件,它有一个极简的界面,并提供登录功能,但它有一个 * 转到 Jmeter 板 * 链接,我不想让用户再次登录。然后他们将不得不再次注销。如果这是不可能的,我还有什么其他选择
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=/";
}
字符串
1条答案
按热度按时间daupos2t1#
通常是的,取决于浏览器。无论如何,您必须始终以特定于浏览器的某些方式向用户请求权限。
例如,作为您的标签,Chrome扩展允许通过
chrome.cookies
(Developer Chrome)访问给定来源集合的cookie。您必须在扩展的清单中请求访问cookie和相对来源,以便实际设置并可用于某些网站的属性。如果您不要求权限,Chrome将保留该属性undefined
。使用
chrome.cookies
,您可以自由访问cookie设置,读取和写入,并且当cookie更改时,您还可以获得扩展通知,这是JS事件系统的正确部分。请注意,对于Chrome策略,当用户安装扩展时,将通知您当前请求Cookie的网站,以及您在清单中请求的所有权限。
这也是一种良好的行为,我认为通常也有一个法律的义务依赖于您的国家,让您的用户知道您实际上是存储/使用他们的cookie在某些网站,你要做什么与他们。
如果您打算使用cookie仅用于存储信息,而不是用于某种类型的网站cookie操作,通常浏览器(如Chrome)会暴露其
localStorage/sessionStorage
,或者基于文件系统的特定扩展存储(如chrome.storage
(Developer Chrome)),允许您在用户会话之间存储信息。这种存储是首选的,因为侵入较少的用户隐私。