为什么不将此页面加载到iframe中?

时间:2017-12-03 17:49:35

标签: javascript html iframe

我有一些html将页面加载到iframe中。这适用于此页面,例如:

https://seandavi.github.io/

然而,像这样的页面:

https://twitter.com/seandavis12/

会产生一个空的iframe。我怀疑这与使用javascript部分渲染的Twitter页面有关,但我不确定如何强制页面显示在iframe中。有什么建议吗?

我测试的环境:chrome&在Mac OS上的safari

最小例子:



<html>
  <body>
    <iframe src="https://seandavi.github.io"></iframe>
    <iframe src="https://twitter.com/seandavis12/"></iframe>
  </body>
</html>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:4)

您将无法在iframe中嵌入Twitter - 他们设置了HTTP headers您的浏览器所看到的内容,并阻止呈现iframe内容。

如果您打开浏览器控制台,您将能够看到它被阻止:

enter image description here

Twitter会允许您在网页上嵌入特定的推文,但是您必须按照指南说明如何执行此操作:https://dev.twitter.com/web/embedded-tweets

答案 1 :(得分:0)

简而言之,您不能使用 iframe/frame/embed/object 或任何其他常规嵌入 html 标记。

大多数不只是静态、视频流(例如 youtube)或信息的大型公司网站可能会将“X-Frame-Options”设置为“sameorigin”。这被称为 Frame-Killer,禁止 iframes/frames/etc 嵌入内容,因为它们极易被点击劫持。

Check out the security section here in Dev Moz

通常,具有理想端点和网页的知名公司会提供替代嵌入选项甚至 API,让您可以安全地请求访问权限以显示其资源。

相关问题