1

我正在尝试为我们的内部用户创建一个简单的 Intranet 样式站点,基本上只是一个顶部导航栏,我们所有用户都在顶部面向内部站点,当他们单击每个站点时,它将打开嵌入在页面中的相关站点,保持顶部的导航栏。

到目前为止,它只是一个简单的导航栏,就像在新选项卡中打开每个导航栏一样:

<style>
#nav {
width: 100%;
float: left;
margin: -5 0 -5 -5;
padding: 0;
List-style: none;
background-color: #333333;
border-bottom: 1px solid #ccc; 
border-top: 1px solid #ccc;
}

#nav li {
float: left;
}

#nav li a {
        display: block;
        padding: 4px 15px;
        text-decoration: none;
        font-family: Arial;
        font-weight: none;
        color: #FFFFFF;
         }

#nav li a:hover {
        color: #333333;
        background-color: #fffFFF; }
</style>

<html>
<body>
<ul id="nav">
        <li><a href="http://intranet/glpi" target="_blank">GLPI</a></li>
        <li><a href="http://intranet/Redmine" target="_blank">Redmine</a></li>
        <li><a href="http://intranet/sms" target="_blank">SMS gateway</a></li>
        <li><a href="http://intranet/labelsregistry" target="_blank">Labels Registry</a></li>
</ul>
</body>
</html>

到目前为止,我尝试将其嵌入为 iFrame 和 Object。iFrame 将显示,但没有内容,对象甚至不会显示!

我用来测试的 iFrame 是:

<iframe id="myframe" src="http://google.com>"</iframe>

这只是显示一个框架,但带有“Internet Explorer 无法显示网页”。

我是在朝着正确的方向前进,还是对 iFrame 的错误使用?

我的 HTML 不是最好的!

在此处输入图像描述

编辑 :: 该站点在 Windows Server 2003 SP2 上的 IIS 6.0 上运行。

4

1 回答 1

2

您不能将链接链接iframe到外部站点(跨域) - 尝试制作另一个页面并为该页面设置 iframe。不工作的最可能原因iframe是目标站点(在本例中为 Google)正在发送标头以防止其他站点对其进行 iframe:

X-Frame-Options: DENY

许多网站会这样做以防止称为UI RedressingClick Hijacking的常见漏洞。一些站点还将包含一些破坏框架的 Javascript 作为 HTTP 标头的备份安全措施。

来自MDN

X-Frame-Options HTTP 响应标头可用于指示是否应允许浏览器以<frame>或呈现页面<iframe>。网站可以使用它来避免点击劫持攻击,方法是确保其内容不会嵌入到其他网站中。

简而言之:是的,您的 iframe 使用了正确的语法,但是您只能将 iframe 用于位于同一域上或允许通过标头标签使用框架的站点。

于 2013-06-13T22:35:44.537 回答