为与 javascript 不同的域设置 cookie
Posted
技术标签:
【中文标题】为与 javascript 不同的域设置 cookie【英文标题】:Setting cookie for different domain from javascript 【发布时间】:2015-09-13 11:49:30 【问题描述】:我正在尝试将 cookie 设置为与 js 文件的 src 相同的域。
场景: 在 www.xyz.com html 中,我已经包含了来自 qwe.com 的 js 文件,如下所示
<script type="application/javascript" src="http://qwe.com/b.js"></script>
从这个 b.js,我想创建域设置为 .qwe.com 的 cookie。我正在使用以下功能设置 cookie
function createCookie(name, value, days)
if (days)
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
var expires = "; expires=" + date.toGMTString();
else
var expires = "";
document.cookie = name+"="+value+expires+";domain=.qwe.com"+"; path=/;";
使用上面的代码我无法设置 cookie。 示例:www.flipkart.com-> 在开发者控制台的资源选项卡中检查 cookie-> .scorecardresearch.com 和 .doubleclick.net 可以设置 cookie
我也想这样做。有人可以为此分享解决方案吗?真正的工作解决方案。我通过谷歌搜索尝试了多种解决方案。没用。
【问题讨论】:
【参考方案1】:客户端 JavaScript 只能为网页所在的域设置 cookie。
您引用的示例使用 HTTP headers to set cookies,而不是 JavaScript。
【讨论】:
嘿昆汀,感谢您的参考。我是一个非常早期的初学者。你能解释一下吗?如何使用 HTTP 标头设置 cookie 来完成它?我检查了关于 HTTP 标头 link 的另一个答案。似乎无法用它来完成。请帮忙澄清一下。 如何设置 HTTP 标头取决于您在服务器上使用的服务器端语言。该链接是关于为不同域设置标头的,您不会尝试这样做:脚本来自 example.com,cookie 为 example.com 设置。 知道了!感谢您的意见!以上是关于为与 javascript 不同的域设置 cookie的主要内容,如果未能解决你的问题,请参考以下文章