Html iframe内容不能出现在Firefox中

Html iframe内容不能出现在Firefox中,html,firefox,iframe,Html,Firefox,Iframe,下面是我的代码: <div style="border: solid 1px #000000; margin: 5px;"> <iframe src="http://www.w3schools.com" width="100%" height="300px" scrolling="yes"><p>Your browser does not support iframe.</p></iframe> </div>

下面是我的代码:

<div style="border: solid 1px #000000; margin: 5px;">
  <iframe src="http://www.w3schools.com" width="100%" height="300px" scrolling="yes"><p>Your browser does not support iframe.</p></iframe>     
</div>   

您的浏览器不支持iframe。


iframe的内容在chrome中运行良好,但在firefox中不起作用。我已禁用加载项,但我的iframe仍然为空。有人能帮我吗

我不知道它是否相关,但当我试图通过c#请求w3schools时,它会响应503禁止的错误。所以他们可能会使用一些东西来阻止在iframe上显示,等等。Facebook也有类似的限制,除非你登录,否则你不能显示他们的likebox iframe

如果您试图在SSL加密的网站(https://)上添加此Iframe,则自Firefox 23以来,它将不再有效,因为Mozilla已决定阻止加密网站上的所有未加密内容(例如https网站上的http Iframe)。 您可以在自己的Firefox安装中更改此行为,方法是在地址栏中键入
about:config
,然后将
security.mixed\u content.block\u active\u content
设置为
false

但这对你网站上所有其他FF23访问者都没有帮助

我也有同样的问题。对我来说,原因是url末尾有一个尾随斜杠

不起作用:

<iframe src="http://example.com/some/sub/folder/"></iframe>

作品:

<iframe src="http://example.com/some/sub/folder"></iframe>
<iframe src="/form.html"></iframe>

为什么还没有人提到CORS

跨源资源共享(CORS)是一种使用 允许用户代理获得访问权限的附加HTTP头 来自不同来源(域)的服务器的所选资源 当前正在使用的站点。用户代理生成跨源HTTP 当它从不同的域、协议、, 或端口,而不是当前文档的源端口

跨源请求的一个示例:从 发出一个src请求 . 如今,网络上的许多页面都在加载 CSS样式表、图像和脚本等资源 域,例如内容交付网络(CDN)

出于安全原因,浏览器限制跨源HTTP请求 从脚本中启动。例如,XMLHttpRequest和 获取API遵循相同的源策略。这意味着网络 使用这些API的应用程序只能从 应用程序从同一域加载,除非CORS标头 用过


这意味着您试图从iframe进入的网站被设置为拒绝来自您的网站或其他网站(如果不是全部)的请求。

自2018年5月起,iframe lead被浏览器拒绝,因为X-Frame-Options标题设置为“sameorigin”

用Firefox测试页面,得到空白的iframe。 控制台是这样说的:

Load denied by X-Frame-Options: https://www.w3schools.com/ does not permit cross-origin framing.
为什么?我会给Chrome控制台一个机会,它是这么说的:

Refused to display 'https://www.w3schools.com/' in a frame because it set 'X-Frame-Options' to 'sameorigin'.
基本上,X-Frame-Options标头(不要将其与CORS混淆)设置为“SameOrgin”,这意味着仅当嵌入到相同的域和相同的协议(不是的SameOrgin)中时,才允许浏览器显示iframe内容

以下是一些关于x-frame-options的文档:

您需要在本地主机上有iframe的源文件

Firefox和Chrome不显示此iframe:

<iframe src="https://www.yourdomain.com/form.html"></iframe>

作品:

<iframe src="http://example.com/some/sub/folder"></iframe>
<iframe src="/form.html"></iframe>


在FF 23上对我来说很好吗?我也是。尝试检查adblock、noscript和您的防病毒软件(然后重新启动浏览器。您也可以在打开页面时检查web控制台上发生的情况。我正在使用Firefox 23.0.1,但它不起作用。只是显示白色的空框。昨天在FF中,当我第一次这样做时,它起作用,但当我点击我的URL时,它在我的所有iFrame中开始显示任何内容。不适用于W3学校。如果有503错误,为什么Firefox没有显示它呢?这可能是浏览器中的一个错误。我注意到加载google.com的https站点会导致一个空框架。谷歌似乎检测到了iframe并发送了一个空页面。虽然我可以毫无问题地加载我银行的https站点!我们不能通过编写一些javascript代码来实现吗?chromi是吗um浏览器也有同样的情况?我们可以在HTTPS网站上使用HTTPS iFrame吗?例如,通过您的html提供的url,我在Mozilla Developer Edition上获得以下内容“X-Frame-Options拒绝加载:不允许跨源帧”。请尝试此url。如果加载此url,则您的问题是由于CORS(如果没有插件干扰您的浏览器)。那么,如果我确实需要将某个网站放入iframe中,我该如何解决这个问题呢?如果您试图通过iframe访问的网站不属于您,那么您应该要求所有者将您的域添加到他们的CORS白名单中。接下来,您是否试图将iframe外部域页面嵌入本地页面/其他什么情况n你喜欢吗?@AlexYes,就是这样。你能控制你试图嵌入iframe的页面的标题吗?@AlexNo,但我找到了一个解决办法。执行window.open,并使用脚本调整/移动/聚焦打开的窗口,使其与父窗口相对应。这不是一个理想的解决方案,但它对最终用户有效。