【问题标题】:iframe showing up blankiframe 显示为空白
【发布时间】:2018-01-23 23:52:03
【问题描述】:

我正在尝试在我的网站上使用一个简单的 iframe。但它没有出现。请看截图。这是我的代码:

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

我做错了什么?谢谢

【问题讨论】:

标签: html css iframe


【解决方案1】:

您的代码是正确的,问题在于 w3schools.com。打开开发者控制台会发现:

Refused to display 'https://www.w3schools.com/' in a frame because it set 'X-Frame-Options' to 'sameorigin'.

这意味着 w3schools.com 只能在“来源”(您的框架所在的网站)来自 w3schools.com 的框架中工作。否则,你只会得到一个空白帧。

【讨论】:

  • 感谢您的帮助。但似乎我无法在 iframe 中加载任何外部网站。有没有办法让这个工作?
  • 是的,很多网站似乎都这样做。尝试嵌入 youtube:&lt;iframe src="https://www.youtube.com/embed/dQw4w9WgXcQ"&gt;&lt;/iframe&gt;
【解决方案2】:

来自 W3Schools 的页面不会显示在来自不同服务器的 iframe 元素中,因为 W3Schools 网站实施了 iframe 阻止策略。为此,它使用 X-Frame-Options。 (另见how to block website from loading in iframe?。)

您可以通过检查网站的 HTTP 标头来检查网站是否实施了此政策。例如,在 Firefox 中,按 F12 打开检查工具,然后转到 Network,选择通过 HTTP 发送的对象之一并查看标头(或过滤标头,例如“x 帧”)。下面是 W3Schools 的样子:

注意屏幕截图右下方的 x-frame-options: SAMEORIGIN。在服务器端设置x-frame-options: SAMEORIGIN(或在某些其他站点上x-frame-options: DENY)后,您将无法在iframeframe 内从该站点加载页面。

有关更多背景信息,请参阅X-Frame-Options – How to Combat Clickjacking,它还解释了可在x-frame-options 标头中使用的其他值。

如果您想使用不阻止 iframe 加载的服务器上的网页进行测试,请尝试例如 https://wiki.archlinux.org/

【讨论】:

    猜你喜欢
    • 2014-02-19
    • 1970-01-01
    • 1970-01-01
    • 2021-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-26
    • 1970-01-01
    相关资源
    最近更新 更多