【问题标题】:Can an iframe be created without cookie data?可以在没有 cookie 数据的情况下创建 iframe 吗?
【发布时间】:2016-02-20 10:27:24
【问题描述】:
使用 JavaScript,是否可以注入 iframe 并使 iframe 不保存 cookie/会话数据?实际上是一个“隐身”iframe?
原因是我正在考虑使用 Chrome 扩展程序,我想在其中显示其他网站的预授权页面的预览,因此为了确保它们不会被重定向,iframe 最好不要使用现有的cookie 数据。
我知道这类似于 this question,但我无法完全控制我在 iframe 中预览的页面。
【问题讨论】:
标签:
javascript
iframe
google-chrome-extension
【解决方案1】:
如果您不使用任何仅限 HTTP 的 cookie,您可以在 localStorage 中保存所有 cookie 的副本,删除所有 cookie,加载 iframe,然后从 localStorage 恢复 cookie。
伪代码:
localStorage.setItem("cookies", document.cookie);
removeAllCookies();
openIframe();
document.cookie = localStorage.cookies;
localStorage.removeItem("cookies");
另一种方法是在您的服务器上创建一个不使用 cookie 的代理。例如,对http://example.com/proxy?url=/preview 的请求将向http://example.com/preview 发出不带cookie 的请求。