【问题标题】:Iframe doesnt show any thing for major sitesiframe 不为主要网站显示任何内容
【发布时间】:2018-01-05 16:39:15
【问题描述】:

我正在尝试使用Iframe 的用法找出约束。

以下行运行良好,我可以在 Iframe 中看到内容:

<iframe src="https://www.w3schools.com/" height="500" width="500"></iframe>

<iframe src="https://www.w3.org/" height="500" width="500"></iframe>

但是这些行不起作用:

<iframe src="https://www.microsoft.com/en-gb/" height="500" width="500"></iframe>

<iframe src="https://www.google.com/" height="500" width="500"></iframe>

如何确定iframe 支持哪些网站,哪些不支持?有没有办法在不显示在iframe 中的情况下找到它?我想在用户输入URL 时显示一条消息以通知他web site is not supported in iframe

【问题讨论】:

  • 我的问题略有不同。我正在尝试找到一种方法,以便确定是否可以在我的页面上显示特定网站。

标签: html security iframe


【解决方案1】:

许多网站都会发送“X-Frame-Options: SAMEORIGIN”响应标头,这会阻止您在 iframe 中显示它们。此选项可防止浏览器显示与父页面不在同一域中的 iframe。这是一项防止点击劫持的安全功能。 see more

在完成我自己的测试后,我假设您在 w3school 的 tryit.asp 编辑器中进行测试,这就是 w3schools 工作但其他人没有工作的原因。

此外,w3.org 不会发送“x-frame-options: SAMEORIGIN”,这就是它在其他域中有效的原因。

这是显示阻止 iframe 显示的错误的图像

【讨论】:

  • 是的,我正在使用 w3school 的 tryit。但它甚至适用于来自同一 tryit 页面的 w3.orgtherunningbug.com
  • 编辑了我的答案,w3.org 没有发送同源标头,我猜 therunningbug.com 也没有。
  • 有没有办法找到哪个站点将X-Frame-Options设置为sameorigin
  • 如果该网站未显示,那么您可以检查元素并检查错误,例如我的答案中的图片。
猜你喜欢
  • 2016-03-13
  • 1970-01-01
  • 2018-09-25
  • 1970-01-01
  • 2012-07-31
  • 1970-01-01
  • 2012-09-26
  • 1970-01-01
  • 2014-04-14
相关资源
最近更新 更多