iframe没有在ASP.NET应用程序中加载内容

时间:2012-02-14 22:02:22

标签: asp.net html

我有一小段代码,我想加载嵌入在我的一个aspx页面中的另一个网站的一部分:

<tr>
   <td style="padding-left:15px;">
      <iframe src="http://www.google.com/" width="210" height="100" /></iframe>
   </td>
</tr>

当我在IE中查看页面时,框架具有以下警告文本:

To help protect the security of information you enter into this website, the publisher of this content does not allow it to be displayed in a frame.

但是,在任何情况下google.com或任何其他外部页面都不会加载。 iframe是一个非常简单的标签......是显而易见的缺失,还是ASP.NET强加了一些约束?

提前致谢。

4 个答案:

答案 0 :(得分:2)

阅读警告文本 - 说实话。发布商(谷歌)不允许在iframe或框架中托管其网站。 Google通过添加一个http标头“X-FRAME-OPTIONS:DENY”来做到这一点,现代浏览器将 - 并且应该 - 服从。

https://developer.mozilla.org/en/The_X-FRAME-OPTIONS_response_header

答案 1 :(得分:0)

不,这与ASP.NET无关,这是所有客户端问题。 我刚刚创建了一个纯HTML页面并在IE中遇到了相同的错误,但在FireFox中运行良好

   <htmL>
   Test page
   <table>
   <tr>
     <td style="padding-left:15px;">
       <iframe src="http://www.google.com/" width="210" height="100" /></iframe>
    </td>
  </tr>
  </table>
  </htmL>

答案 2 :(得分:0)

许多网站都会主动阻止您在框架中加载其内容。甚至StackOverflow都否认了这一点。

有些人主动控制浏览器并强制顶层重定向到他们的主页。这样做有很多原因。

因此,如果您想将自己的内容放在iFrame中,那很好。但是,如果你想将其他人的内容放在iFrame中,那么我建议你停下来。它不再被视为礼貌行为。

答案 3 :(得分:0)

如果您尝试在iframe中加载自己网站中的网页,并且如果您正在使用ASP.NET会话,则可能会遇到阻止加载iframe的竞争条件。

对于第三方网站,正如其他人所说,ASP.NET并不关心; “这是一个浏览器的事情。”