`
mayijun000
  • 浏览: 66886 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

iframe页面布局、菜单、自定义高度

 
阅读更多

  最近用到iframe页面布局,解决了页面加载慢的问题,分成了上中下三层,结果遇到网上很多人遇到的问题。

 

  1、下拉菜单因为高度问题向上显示了,

于是我把它放在了外面,其余用iframe,就不会出现问题了。

  2、可是又遇到了

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> 

 

 

它会自动添加默认样式,覆盖原有的样式。因为我写的iframe的自适应高度的方法用到了。方法如下

 

function reinitIframe(iframe){
 var bHeight = iframe.contentWindow.document.body.scrollHeight; var dHeight = iframe.contentWindow.document.documentElement.scrollHeight; 
//var blankHeight = iframe.contentDocument.body.scrollHeight; 
var height = Math.max(bHeight, dHeight);
 try{ 
iframe.height = bHeight; 
//iframe.height = blankHeight; //适应内部页面的大小 
}catch (ex){ 
alert(ex+">>>>>>>>>>>>>>error0000"); 
} 
} 

 

后来发现可以用另外的方式实现:

function reinitIframe(iframe){
		var win=iframe;
		var minheight = 200;
		if (document.getElementById){
				
		if (win && !window.opera){
				
	if (win.contentDocument && win.contentDocument.body.offsetHeight) 
							win.height = win.contentDocument.body.offsetHeight; 
				    
	else if(win.Document && win.Document.body.scrollHeight)
				   
							if(minheight<win.Document.body.scrollHeight){
								win.height = win.Document.body.scrollHeight;
							}else{
								win.height =minheight;
							}
	}

}
}

 

这样问题就解决了。

 

3、用了iframe之后,每次刷新页面都会跳转到首页,要是只刷新iframe就好了,于是写了下面的方法:

var check=function(e){ 

    e=e||window.event;  

    if((e.which||e.keyCode)==116){ 

       if(e.preventDefault){ 

           e.preventDefault(); 

           window.frames["mainFrame"].location.reload(); 

           } else{

              event.keyCode = 0; 

              e.returnValue=false; 

              window.frames["mainFrame"].location.reload(); 

              } } } 

if(document.addEventListener){ 

    document.addEventListener("keydown",check,false); 

    } else{ 

       document.attachEvent("onkeydown",check); 

       } ;

  

4、当有弹出框的时候,如果子页面调用父页面的方法,那么就调用

 

 

window.parent.document.mainFrame.user()//mainFrame父页面的iframe名称,user()父页面的方法 

 5、iframe局部跳转

window.frames[i].location.href=url//i表示第几个iframe

 

 

分享到:
评论

相关推荐

    devexpress mvc4页面布局

    在这个场景中,我们关注的是在ASP.NET MVC4框架下,利用DevExpress组件实现iframe页面布局的方法。 标题"devexpress mvc4页面布局"暗示我们将讨论如何使用DevExpress MVC Extensions在MVC4项目中创建一个具有特定...

    easyui页面布局示例

    在“easyui页面布局示例”中,我们将探讨如何利用 EasyUI 实现高效且直观的页面布局,并结合导航菜单,实现动态内容加载。 首先,EasyUI 提供了多种布局模式,如网格布局(grid layout)、面板布局(panel layout)...

    jQuery内嵌iframe导航菜单

    2. **CSS样式**:接下来,为导航菜单和iframe添加适当的样式,确保它们在页面上的布局和交互符合预期。 3. **jQuery事件绑定**:使用jQuery,我们为导航菜单的链接元素绑定`click`事件。当用户点击一个链接时,我们...

    layuiadmin-iframe3.zip

    6. 后台管理模板:layuiadmin-iframe3可能包含了典型的后台管理模板,如登录页面、权限控制、菜单管理等,这些都是开发企业级后台应用时常见的功能模块。 通过深入学习和实践layuiadmin-iframe3的代码,开发者可以...

    Flex中利用IFrame解决嵌入HTML时Flex组件被遮挡和IFrame被隐藏的问题

    本文将详细讲解如何利用IFrame解决这些问题,特别是针对Flex菜单的遮挡问题。 首先,理解Flex和IFrame的基本概念是必要的。Flex是一种基于ActionScript和MXML的开源框架,用于构建富互联网应用程序(RIA)。而...

    layuiadmin-iframe.zip

    layuiadmin 的 iframe 版本则是将多个页面通过 iframe 方式嵌入到一个主页面中,实现多页面管理的布局模式。 layuiadmin 的核心组件包括但不限于以下几个方面: 1. **布局**:layuiadmin 使用流式布局,适应不同...

    利用frameset做菜单

    本教程将深入探讨如何利用`frameset`来创建一个类似QQ邮箱那样的布局,即左侧为菜单,右侧显示菜单对应的详细内容。 首先,`frameset` 的基本结构包括`&lt;frameset&gt;`标签和`&lt;frame&gt;`标签。`&lt;frameset&gt;`定义了窗口的...

    vueIframe.zip

    这个项目旨在创建一个自适应的页面布局,适应不同屏幕尺寸的设备,尤其关注桌面端的用户体验。在深入探讨其核心功能和实现原理之前,我们先了解一下Vue、Element UI以及iframe的概念。 Vue.js 是一款轻量级的前端...

    layui后台管理页面

    layui后台管理页面通常采用流式布局,结合layui的`layadmin-layout`模块,可以轻松实现响应式布局,确保在不同设备上都能良好显示。页面通常分为头部(header)、侧边栏(sidebar)、内容区域(content)和底部...

    飞天素材网后台管理框架模板 v2.2 iframe版.zip

    通过使用iframe,开发者可以将不同页面的内容集成到一个页面上,实现页面的模块化,提高代码复用性,减少网络请求,优化页面加载速度。在这个框架模板中,iframe被用来分割和组织后台管理界面的不同功能区域,比如...

    javascript自定义右键弹出菜单实现方法

    在JavaScript中,自定义右键弹出菜单是一种常见的交互式功能,它允许用户在点击鼠标右键时看到自定义的选项,而不是浏览器默认的上下文菜单。本篇将详细讲解如何利用JavaScript实现这一功能,主要涉及到鼠标事件和...

    bootstrap后台模板

    这款模板充分利用了Bootstrap框架的强大功能,提供了一系列预设的页面布局、组件和样式,使得开发者能够快速搭建出功能完备且美观的后台界面。 Bootstrap是一个流行的前端开源框架,由Twitter开发并维护。它包含了...

    任务十三框架结构布局网页PPT学习教案.pptx

    任务二是制作内联式框架(IFrame)网页,IFrame是另一种实现页面内嵌入其他网页内容的方式,它更加灵活,可以在页面的任何位置插入,并且大小可调。 总的来说,框架结构布局网页的学习涵盖了从理解基本概念,到熟练...

    jQuery UI仿webqq桌面系统WebOS界面操作

    首先,`index.html`是项目的主入口文件,它包含了HTML结构,定义了页面的基本布局和元素。HTML中可能嵌入了jQuery库和jQuery UI库的链接,以及用于初始化UI组件和执行特定功能的JavaScript代码。 `wallpapers`...

    屏蔽IE的工具栏菜单栏地址栏(一共两个)

    通过JavaScript,开发者可以控制网页的行为,包括响应用户的操作、修改页面内容和布局等。 ### 知识点二:利用JavaScript屏蔽IE的工具栏、菜单栏和地址栏 在给定的代码片段中,通过创建一个自定义窗口并使用`...

    LayuiAdmin 单页版 开发文档

    4. **页面布局**: layuiAdmin采用响应式布局,支持不同设备的适配。其主页面通常包括头部、侧边栏、主要内容区域等部分。通过控制侧边栏的展开和折叠,可以优化在小屏幕设备上的显示效果。 5. **组件使用**: - ...

    专题资料(2021-2022年)DreamweaverCS5自学教程第六课框架结构.doc

    - IFRAME是一种在页面内部嵌入其他页面的元素,具有自己的名字、宽度、高度和滚动条设置。 - 在Dreamweaver中,通过“布局—IFRAME”可以方便地插入和修改IFRAME属性。 8. **保存框架集和框架** - 保存框架集时...

    使用iframe作为日历的载体,不再被select和flash等控件挡住的日期输入框

    在Web开发过程中,经常会遇到日期选择器与页面上的其他元素(如`&lt;select&gt;`下拉菜单、Flash插件等)重叠导致交互不便的问题。为了解决这一问题,本文介绍了一种将日历嵌入到`&lt;iframe&gt;`中的方法,以此来避免与其他DOM...

    layuiAdmin2020.zip

    而iframe版则是利用iframe嵌套页面的方式实现多页面管理,各个功能模块可以独立加载,方便管理和维护。 layuiAdmin2020的核心特性包括: 1. **响应式布局**:layuiAdmin2020采用了响应式设计,适应不同设备的屏幕...

    layuimini-2_layui_后台管理模板_layuimini_

    - 自定义:layuimini支持高度定制,可以按需引入组件,满足不同项目需求。 - 响应式:适应各种设备,无论是PC还是移动设备,都能提供良好的用户体验。 3. layuimini主要组件: - 导航栏:提供多种样式的导航栏,...

Global site tag (gtag.js) - Google Analytics