3

Google Chrome 23 和 Firefox 18 让我抓狂。我有一个页面,其中有一个 iframe。单击按钮时,我希望 iframe 打开http://images.google.com

问题是 iframe 将尝试访问http://images.google.com,但是一旦它收到重定向指令(http://images.google.com正在发出),它就会停止并且页面将不会t 被渲染。这是为什么?有什么解决办法吗?

这是一个演示该问题的片段:

<iframe id="panel" style="height: 800px; width: 100%" sandbox="allow-scripts" src="http://images.google.com">
</iframe> 
4

1 回答 1

5

这是一个浏览器安全问题,称为Click-jacking Prevention,其中一部分是检查 HTTP 响应标头X-Frame-Options。此标头可以采用值DENYSAMEORIGINALLOW-FROMorigin ,这将分别防止任何框架、防止外部站点框架或仅允许由指定站点进行框架。

简单地说,当这个 http 标头存在时,它会阻止站点以 a<frame><iframe>. 自 2009 年以来,此 http 标头已在大多数浏览器中实现,包括 IE8+、Safari、Firefox、Chrome 和 Opera。

这是来自 的标头images.google.comSAMEORIGIN这意味着该地址只能在浏览时在 iframe 内呈现google.com

在此处输入图像描述

于 2013-01-27T17:14:29.740 回答