是否可以为当前域(包括子域)存储JS。
例如:document.cookie = "key=value; expires=Tue, 16 Apr 2019 11:31:56 GMT; path=/;secure"为当前域设置一个cookie,但不向域名添加一个点。
我知道可以通过domain=.example.com指定域名,但我不想硬编码域名。
我尝试过这样的方法,但没有成功:document.cookie = "key=value; expires=Tue, 16 Apr 2019 11:31:56 GMT; path=/;secure;domain=."
更新:
我知道您可以使用window.location.hostname获得当前域,但是有不需要以编程方式获取域名的解决方案吗?
更新2:
就像这里描述的:What does the dot prefix in the cookie domain mean?
前导点意味着cookie对于子域也是有效的;但是最近的HTTP规范(RFC 6265)改变了这一规则,因此现代浏览器不应该关心前导点。实现不推荐的RFC 2109的旧浏览器可能需要该点。
这意味着,如果在现代浏览器中在域名之前使用点,则不会造成的不同。也就是说,您可以将JS cookie的域部分保留为空,并将其设置为当前域(也与子域匹配)。
发布于 2018-04-20 06:48:50
可能的解决办法:
var domainName = window.location.hostname;
document.cookie = "key=value; expires=Tue, 16 Apr 2019 11:31:56 GMT; path=/; secure; domain=." + domainName;https://stackoverflow.com/questions/49935324
复制相似问题