Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用没有会话或cookie数据的iFrame(匿名)_Javascript_Html_Session_Iframe_Cookies - Fatal编程技术网

Javascript 使用没有会话或cookie数据的iFrame(匿名)

Javascript 使用没有会话或cookie数据的iFrame(匿名),javascript,html,session,iframe,cookies,Javascript,Html,Session,Iframe,Cookies,如果在HTML文档中使用iFrame元素,则子页面将加载来自浏览器的所有会话和cookie数据 例如: <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Stack Overflow in an iFrame</title> </head> <body> <h1>S

如果在HTML文档中使用
iFrame
元素,则子页面将加载来自浏览器的所有会话和cookie数据

例如:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>Stack Overflow in an iFrame</title>
  </head>
  <body>
    <h1>Stack Overflow in an iFrame</h1>
    <iframe src="http://stackoverflow.com" width="640" height="480" />
  </body>
</html>

iFrame中的堆栈溢出
iFrame中的堆栈溢出
忽略一段时间,这样实际上不允许自己加载到iFrame中。如果是这样,iFrame加载的SO页面将显示您已登录

如何在没有任何cookie或会话数据的情况下使用iFrame?(如Chrome中的匿名模式)

为什么?

我的公司销售一种产品(web应用程序),供人们使用它来建立定制的网站。当他们通过身份验证,并且访问他们的网站时,我们会向他们展示经过身份验证的UI版本,以便他们可以编辑内容。未授权的用户只能看到静态网站。使用多个浏览器或清除cookie不是我们用户的合理期望,因此我们希望在iFrame中向他们显示他们网站的预览,以便他们可以看到他们的访问者会看到什么。我们还想用更小分辨率的iFrame显示网站的“移动”预览,这样他们就可以看到访问者通过电话访问网站时看到的内容。这些iFrame需要在不访问浏览器cookie或会话数据的情况下加载,以便在未授权模式下加载,就像Chrome在匿名模式下加载一样

我还没有尝试过任何东西,因为我不知道从哪里开始。我确实发现了这一点,但他们似乎都没有帮助解决这个问题。也许可以用JavaScript做些什么,我们已经在项目中使用了jQuery


注意:如果您完全控制webstack,我们的目标是只使用有效的HTML5,添加一个将用户视为未经身份验证的预览参数不是更容易吗

例如:

<iframe src="http://stackoverflow.com?preview=1" width="640" height="480" />


然后绕过授权检查预览标志是否存在。

您无法控制来自客户端的cookie访问。我的公司在iFrame中也做很多事情,所以在iFrame中设置cookie/会话是我以前做过的事情。您可能可以使用不同的子域,这将是最简单的。我认为这听起来是个好主意,而且您可以轻松地调整相同的方法,以选择性地为移动版本提供服务,如问题所述。老实说,我们的授权模式中已经有一个“预览”模式,使用URL参数,但它在顶部显示了一个40px的条,上面写着“这是你网站的预览”,还有一个返回编辑模式的按钮。我们不想在预览iFrames中显示此顶部栏;我们想要的正是最终用户所看到的。也就是说,听起来控制cookies是不可能的,所以我必须添加一些方法来访问预览模式,而不使用顶部栏。谢谢