- 浏览: 141537 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
puyancheng1988:
哥们儿,我用的jfreechart在linux服务器上生成的图 ...
JFreeChart图表 -
soujava:
...
Linux下Oracle自动备份脚本 -
skylikeblue:
...
基于JAVA实现的手机收发短消息系统
在Web开发过程中,为了提高页面架构层次的清晰性和灵活性,应对复杂的页面布局,使用嵌入式框架iframe可能是最有效的解决办法。如果布局比较复杂或页面层次较多,则可能会用到嵌套多层的iframe,然而iframe并不会根据页面高度自动调整自身高度,为了屏蔽滚动条提高视觉效果,就需要使用javascript代码使iframe自动调整高度。
1、单层情况,假设在A.aspx页面的某个位置嵌入页面B.aspx,则在A页面中需使用一个嵌入框架iframeA,其示例代码如下:
...
<head>
...
<script type="text/javascript">
//iframeName:框架ID
function SetIframeSize(iframeName)
...{
var iframe = document.getElementById(iframeName);
try
...{
var bHeight = iframe.contentWindow.document.body.scrollHeight;
var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
//据说这两个高度可能不一样
var height = Math.max(bHeight, dHeight);
iframe.height =height;
}catch (ex)...{}
}
</script>
</head>
<body>
...
<tr>
<td>
<iframe id="iframeA" name="iframeA" scrolling="no" frameborder="0" src="B.aspx" width="100%"
onload="SetIframeSize('iframeA');"></iframe>
</td>
<tr>
...
</body>
...
2、嵌套两层情况,假设A.aspx页面通过嵌入式框架iframeA嵌入页面B.aspx,页面B.aspx又通过嵌入式框架iframeB嵌入页面C.aspx,其中A.aspx示例代码和单层情况一样,B.aspx页面的示例代码如下:
...
<head>
...
<script type="text/javascript">
//iParentFrameName:父框架ID
//iframeName:框架ID
function SetIframeSize(iParentFrameName,iframeName)
...{
var iframe = document.getElementById(iframeName);
try
...{
var bHeight = iframe.contentWindow.document.body.scrollHeight;
var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
//据说这两个高度可能不一样
var height = Math.max(bHeight, dHeight);
iframe.height =height;
//更新父框架高度
SetIframeSize2(iParentFrameName)
}catch (ex)...{}
}
//iframeName:框架ID
function SetIframeSize2(iframeName)
...{
var iframe = window.parent.parent.document.getElementById(iframeName);
try
...{
var bHeight = iframe.contentWindow.document.body.scrollHeight;
var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
var height = Math.max(bHeight, dHeight);
iframe.height =height;
}catch (ex)...{}
}
</script>
</head>
<body>
...
<tr>
<td>
<iframe id="iframeB" name="iframeB" scrolling="no" frameborder="0" src="C.aspx" width="100%"
onload="SetIframeSize('iframeA','iframeB');"></iframe>
</td>
<tr>
...
</body>
...
其中代码
var iframe = window.parent.parent.document.getElementById(iframeName);
window指C.aspx,window.parent指B.aspx,window.parent.parent指A.aspx
事实上如果没有特别需要(比如B.aspx页面条件加载C.aspx页面)下,A.aspx中iframeA可以不要onload事件。
3、嵌套多层情况
多层嵌层以两层情况为例类推,同上没有特别需要,只设最后一级iframe的onload事件。
发表评论
-
服务器端进行表单验证是很需要的
2008-09-28 09:25 827在实际应用中客户端和服务器端都需要做验证. 在客户端验证真正目 ... -
隐藏超链接所带参数的方法
2008-11-11 10:25 10791. 用JavaScript 正确的做法应该是: <sc ... -
JSP中WAP中文乱码解决方案
2008-03-05 16:24 920前段时间用JSP做一个WAP的应用,碰到中文参数传递保存乱码, ... -
ASP事务处理
2008-03-05 16:49 955<%'asp事务处理。'测试数据库为sql serv ... -
XML的代替者JSON
2008-03-05 16:50 642我个人觉得PHP与Javascript ... -
表格头固定而列可滚动的效果
2008-03-05 16:52 900对于经常需要表格头部不东,而列表可以滚动,多用于数据比较多的情 ... -
asp下连接数据库大全
2008-03-05 16:53 827经常使用到有关数据库的操作。包括连接代码、SQL命令等等,又不 ... -
PHP操作excel的一个例子
2008-03-05 16:55 1566<?php//定义一个excel文 ... -
Jmail使用方法
2008-03-05 16:57 1362快速掌握Jmail使用方法 下面是一段程序代码,现在共享出 ... -
CakePHP中文教程1
2008-03-10 10:28 12781,读者 这份手册是为了那些想快速建立web程序的人所写。C ... -
CakePHP中文教程2
2008-03-10 10:30 1417第三章 安装CakePHP 1,Requirements ... -
CakePHP 中文教程3
2008-03-10 10:32 1013第五章 Scaffolding (脚手架?) Scaffol ... -
CakePHP中文教程4
2008-03-10 10:34 832接上页:var $hasOne = array('associ ... -
CakePHP中文教程5
2008-03-10 10:35 1006第九章 Helpers Helpers设计的目的是提供一些方 ... -
CakePHP中文教程6
2008-03-10 10:36 721第十章 数据正确性(Data Validation) 创建用 ... -
cakephp实例
2008-03-10 10:58 1068基本的配置:数据库设置 我这里使用的是数据库newsapach ... -
cakephp用户登录验证实例
2008-03-10 11:01 1705/app/controllers/user_controlle ... -
textarea支持图形编辑的实现方法
2008-03-13 17:22 763本来以为只有iframe支持编辑了,今天突然发现textare ... -
PHP正则表达式
2008-03-14 12:53 2332今天起,会开始弄一个PHP ... -
防止页面缓存的方法
2008-08-19 09:11 836htm网页 <metahttp-equiv=" ...
相关推荐
本文将详细讲解如何解决`iframe`跨域问题以及实现自动适应高度的功能。 1. **同源策略与iframe跨域** 同源策略是浏览器安全的一项基础机制,它限制了来自不同源的"文档"或脚本相互交互。当一个`iframe`加载的页面...
### iFrame自动调整高度知识点详解 #### 一、前言 在网页开发中,经常会遇到需要将一个网页嵌入到另一个网页中的场景,这时候就会用到`<iframe>`标签。然而,由于`<iframe>`的高度默认是固定的,在内容发生变化时...
然而,`iframe`的高度自动适应往往成为开发者面临的问题,特别是当嵌入的内容高度不确定时。标题提到的“iframe自动适应高度(完美自适应高度嵌套代码)”提供了一个解决方案,它能够确保`iframe`在各种主流浏览器...
在一些特殊情况下,我们需要让Iframe高度自动适应其中内容的大小。上面提供的文档内容,尽管通过OCR扫描技术出现了一些识别错误,但是核心的代码和思路是清晰的,能够帮助我们理解如何实现Iframe高度的自适应。 从...
然而,`<iframe>`的高度自适应问题常常困扰着开发者,尤其是当`<iframe>`内部的内容动态加载或者变化时,如何让`<iframe>`自动调整其高度以适应内容,而不会导致滚动条溢出或内容被截断,成为了一个常见需求。...
### iframe高度自适应技术详解 在网页开发过程中,经常会遇到需要在一个页面中嵌入另一个页面的需求,这通常通过HTML的`iframe`元素实现。然而,一个常见的问题是当嵌入的内容高度变化时,如何使`iframe`的高度能够...
当`iframe`中的内容高度不确定时,我们希望`iframe`能自动调整其高度以完全显示内部内容,避免出现滚动条或者内容被截断的情况。以下是一些实现`iframe`高度自适应的方法: 1. **JavaScript解决方案**: - **...
因此,让`iframe`能够自动调整高度变得尤为重要。 #### 三、解决方案 接下来,我们将介绍一种简单有效的方法来实现`iframe`自动改变高度。该方法适用于现代浏览器,包括Chrome、Firefox、Safari等。 **核心代码...
然而,这些静态属性无法自动调整以适应内容的变化。 接下来,我们可以利用JavaScript的DOM操作和事件监听来实现自适应高度的功能。以下是一个基本的实现步骤: 1. **获取`iframe`元素**:通过`document....
js 控制 Iframe 高度自适应是指使用 JavaScript 语言来控制 iframe 的高度,使其能够自动调整以适应内容的高度。 在 iframe 高度自适应中,需要考虑多种浏览器的兼容性问题,包括 Firefox、IE、Opera 等不同的...
自动调整iframe高度的核心在于监听页面加载完成事件,然后通过JavaScript读取iframe内部内容的高度,并将其设置为iframe本身的高度。这一过程通常需要针对不同浏览器进行适配,因为iframe在不同的浏览器中可能采用...
### 自动调节iframe高度,而不显示其滚动条 js #### 背景介绍 在网页开发过程中,经常会遇到需要在一个页面内嵌入另一个页面的情况,这时通常会使用HTML中的`iframe`元素来实现。然而,当嵌入的内容高度不确定或者...
在用js动态创建时,iframe 很难自动适应高度宽度,写100%也没有,推出此方法可以解决这方面难题
这在需要动态调整iframe高度以适应内容时会带来挑战。本文将深入探讨如何实现跨域控制iframe的高度,以优化用户体验。 首先,我们需要理解同源策略。同源策略是浏览器为了保障安全而实施的一项规定,它只允许...
这种技术常被用来实现...以上就是关于“Iframe高度自适应浏览器高度”的主要知识点,实践中可能需要结合具体场景和需求选择合适的方法。在实际应用中,还要考虑到兼容性问题,确保在不同浏览器和设备上都能正常工作。
标题"iframe高度随子页高度变化"和描述中提到的问题,正是关注于这个动态调整`iframe`高度的技术。 要实现`iframe`高度随子页高度变化,主要涉及以下几个关键点: 1. **设置iframe的初始高度**:首先,我们需要为`...
这个库允许的高度与同跨域iframe来适应他们所包含的内容的宽度自动调整大小。它最常见的问题与使用iframes提供一系列的功能,其中包括: 高度和宽度大小的iframe内容大小。 作品以多个嵌套的iframe。 跨域iframe域...
然而,在使用`iframe`时,如何使其高度和宽度能够根据内容自动调整,是开发者们经常遇到的问题之一。 #### 一、基本概念 在默认情况下,`iframe`的高度和宽度是固定的,需要开发者手动设置。当嵌入的内容发生变化...
总的来说,`iframe`多层级自动适应高度是一个常见的前端问题,通过JavaScript的`postMessage`和事件监听,我们可以实现动态的高度调整,确保用户能完整地查看所有内容。同时,为了提高用户体验,还应考虑优化加载...
将`iframe`放在一个grid容器中,并使用`auto-fill`或`auto-fit`作为行的重复数量,`iframe`将会自动适应内容高度。 ```css .iframe-grid { display: grid; grid-template-rows: auto; } .iframe-grid iframe...