iframe的使用

----可耻地拿来了,原地址:http://blog.youkuaiyun.com/u011037869/article/details/47126207

1.项目任务:将导航提取为公共页面,节省代码量,可维护!

2.新建一个main.jsp页面,将页面分为两部分,嵌入iframe标签

[java]  view plain  copy
 print ?
  1.        <!-- 导航iframe top.jsp -->  
  2. <iframe src="top" frameborder="0" scrolling="no" height="300px;" width="100%" allowTransparency="true" style="position:fixed;z-index:1001;right: 0; top: 0">  
  3. </iframe>   
  4. <!-- 内容iframe cleanzone.jsp -->  
  5. <iframe src="home" id="iframepage"  name="iframepage" frameborder="0" scrolling="no" width="100%" height="100%"  onLoad="iFrameHeight()">  
  6. </iframe>  
3.内容部分不能自适应高度,解决代码如下

[javascript]  view plain  copy
 print ?
  1. <script type="text/javascript" language="javascript">  
  2. //iframe自适应高度  
  3.  function iFrameHeight()   
  4.  {  
  5.      var ifm= document.getElementById("iframepage");  
  6.      var subWeb = document.frames ? document.frames["iframepage"].document :ifm.contentDocument;  
  7.      if(ifm != null && subWeb != null)   
  8.      {  
  9.          ifm.height = subWeb.body.scrollHeight;  
  10.      }  
  11.   
  12.  }  
  13. </script>  
  14. <iframe src="home" id="iframepage"  name="iframepage" frameborder="0" scrolling="no" width="100%" height="100%"  onLoad="iFrameHeight()">  
引用javaScript后,将 id name onLoad  加入到你要自适应的iframe标签下即可

4.top导航页面想实现浮动到另一个iframe上,不随着滚动条滚动,解决如下

在要实现的iframe上加上

[css]  view plain  copy
 print ?
  1. style="position:fixed;z-index:1001;right: 0; top: 0"    

即可!

5.由于我的导航高度的设定,菜单的下拉选框没有全部显示,解决如下

遇到这种情况,要进行iframe的背景透明即可。

在要背景透明的iframe标签中加入 

[html]  view plain  copy
 print ?
  1. allowTransparency="true"   

然后在引用的页面 body标签中加入

[html]  view plain  copy
 print ?
  1. background-color:transparent;  

即可!


6.关于在iframe嵌套子页,子页面页面过期后,一些链接的登录框在子页面显示的问题

我想许多朋友肯定也会遇到相同的问题:当使用iframe后,框架是:上左右结构的。上是一排菜单呀logo呀。左边是详细的菜单选项。右边是内容的显示。都是通过菜单链接进入右边内容显示区。这种在信息系统里面比较普遍。问题在于,由于session过期,再次操作需要重新登录进入系统。也就是说整个页面需要跳到login的登录界面。但是。由于在详细菜单中设置了target=“***”,诸如类似的东西。就导致,session过期后,login的登录页面就在整个框架的右边的内容区显示。相当的不爽。这个问题是个小问题。如果突然遇到。网上找答案,很是费力。下面是一段小代码。也许可以解决你的问题:


在login的登录页面中嵌入下面的js代码

[javascript]  view plain  copy
 print ?
  1. <scriptlanguage="JavaScript">              
  2.     if (window != top)                        
  3.           top.location.href =location.href;  
  4. </script>  


7. iframe透明挡住了另一个iframe的 效果。
 未解决
<think>好的,我现在需要帮助用户解决关于HTML iframe使用方法和相关问题。用户提到了iframe的属性、示例以及如何使用,还引用了三个参考资料,但根据系统指令,这些引用可能不是用户真正的需求,需要结合用户之前的问题和我的回答来考虑。不过目前看来用户是第一次提问,所以主要基于提供的引用内容来回答。 首先,我需要整理用户的问题点:如何使用iframeiframe的属性和示例。根据引用内容,引用1提到了frameborder属性设置为0可以移除边框,并有一个示例。引用2给出了iframe的基本语法和备用内容。引用3列举了scrolling、width、height、frameborder等属性。 接下来,我需要按照用户的要求,结构清晰,分步骤解答,并生成相关问题。同时,需要遵循系统级指令,比如使用正确的LaTeX格式,但用户的问题是关于HTML,可能数学公式较少,不过要注意行内表达式用$...$,独立公式用$$...$$,但这里可能用不上,但需要检查是否有数学内容需要处理。 然后,需要确保回答中使用中文,正确应用引用标识。例如,当提到frameborder属性时,引用引用1和引用3的内容,在末尾添加[^1][^3]。同样,其他属性如scrolling、width、height时,引用引用3的内容[^3]。 用户可能需要具体的示例代码,所以需要提供基本的iframe示例,并解释各个属性的作用。例如,src属性指向URL,frameborder设置边框,width和height设置尺寸,scrolling控制滚动条,name用于链接目标等。 另外,用户的问题可能涉及iframe的常见应用场景,比如嵌入地图、视频或其他网页内容,所以可以给出实际应用的例子,如嵌入Google地图或YouTube视频,并说明如何通过iframe实现。 生成相关问题时,需要围绕iframe使用方法、属性设置、兼容性问题、安全性、替代方案等方面,例如如何调整iframe大小,如何解决跨域问题,iframe与CSS的交互,替代iframe的现代方法等。 需要检查是否有遗漏的重要属性或注意事项,比如sandbox属性用于安全控制,或者srcdoc属性用于直接嵌入HTML内容。不过根据提供的引用,可能没有提到这些,所以可能需要根据常识补充,但需要注明来源是否在引用中。 最后,确保回答符合用户的需求,结构清晰,分点说明,代码示例正确,并自然地添加引用标记。</think>### HTML iframe 使用方法详解 #### 1. 基本语法与核心属性 iframe 用于在当前页面嵌入其他网页,语法结构为: ```html <iframe src="URL" [属性列表]> 浏览器不支持iframe时显示的内容 </iframe> ``` * **src**:指定嵌入页面的URL(必填) * **width/height**:定义尺寸(像素或百分比) 示例:`width="800" height="600"`[^3] * **frameborder**:控制边框显示 `frameborder="0"` 隐藏边框,`frameborder="1"` 显示边框[^1][^3] * **scrolling**:滚动条控制 可选值:`yes`(强制显示)、`no`(隐藏)、`auto`(自动判断)[^3] #### 2. 实用示例 ▍嵌入百度地图 ```html <iframe src="https://map.baidu.com" width="100%" height="400px" frameborder="0" scrolling="auto"> </iframe> ``` ▍作为链接目标(结合name属性) ```html <iframe name="contentFrame" src="default.html"></iframe> <a href="page2.html" target="contentFrame">加载页面2</a> ``` #### 3. 高级技巧 - **自适应高度**:通过JavaScript动态调整 ```javascript window.onload = function() { let iframe = document.getElementById('myFrame'); iframe.style.height = iframe.contentWindow.document.body.scrollHeight + 'px'; } ``` - **安全限制**:使用`sandbox`属性限制权限 ```html <iframe src="external.html" sandbox="allow-scripts"></iframe> ``` #### 4. 兼容性注意事项 所有主流浏览器均支持iframe,但需注意: 1. 移动端浏览器可能限制跨域iframe 2. 部分网站通过`X-Frame-Options`响应头禁止被嵌入 3. 建议始终提供备用内容(如提示文字)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值