我有一些html将页面加载到iframe中。这适用于此页面,例如:
然而,像这样的页面:
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;
答案 0 :(得分:4)
您将无法在iframe中嵌入Twitter - 他们设置了HTTP headers您的浏览器所看到的内容,并阻止呈现iframe内容。
如果您打开浏览器控制台,您将能够看到它被阻止:
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,让您可以安全地请求访问权限以显示其资源。