我在 website1.com 中有以下代码:
<script type="text/javascript">
document.cookie = "qwe=1";
alert(document.cookie);
</script>
并且 website2.com 包含:
<iframe src="http://website1.com"></iframe>
当我在 IE 中打开 website2.com 页面时,它会提示空字符串(如果之前没有设置 cookie)。
其他浏览器警告“qwe=1”。
所以问题是为什么以及如何解决这个问题?
最佳答案
它是关于 IE 中的安全性的。
如果你想允许访问 IFRAME 中的 cookie,你应该按如下方式设置 HTTP header :
ASP.NET:
HttpContext.Current.Response.AddHeader("p3p","CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"");
JSP:
response.addHeader("P3P","CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"")
PHP:
header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');
关于javascript - IE不能设置cookies?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8061450/