动态的改变IFrame的高度实现IFrame自动伸展适应高度_javascript技巧

动态的改变IFrame的高度,实现IFrame自动伸展,父页面也自动神缩
原理: 在IFrame子页面一加载的时候,调用父IFrame对象,改变其高度
具体实现一:
1、在IFrame的具体页面(就是子页面),添加JavaScript

复制代码 代码如下:

<script>
function IFrameResize(){
//alert(this.document.body.scrollHeight); //弹出当前页面的高度
var obj = parent.document.getElementById("childFrame"); //取得父页面IFrame对象
//alert(obj.height); //弹出父页面中IFrame中设置的高度
obj.height = this.document.body.scrollHeight; //调整父页面中IFrame的高度为此页面的高度
}
</script>

2、在IFrame的具体页面(就是子页面)的body中,添加onload事件

复制代码 代码如下:

<body onload="IFrameResize()">

3、为父页面的IFrame标签添加ID,即上面第一步,方法体中的第2行所写到的childFrame

复制代码 代码如下:

<IFRAME border=0 marginWidth=0
frameSpacing=0 marginHeight=0
src="frame1.jsp" frameBorder=0
noResize scrolling="no" width=100% height=100% vspale="0" id="childFrame"></IFRAME>

具体实现二:

复制代码 代码如下:

//动态改变父类iframe的高度
//iframe页面调用的js
$(function(){
//取到窗口的高度
var winH = $(window).height();
//取到页面的高度
var bodyH = $(document).height();
if(bodyH > winH){
window.parent.document.getElementById("mainFrame").height=bodyH;
}else{
window.parent.document.getElementById("mainFrame").height=winH;
}
});

父页面的iframe为

复制代码 代码如下:

<iframe src="main.action" height="700" frameborder="0" width="100%" id="mainFrame" name="mainFrame"></iframe>

时间: 2024-08-01 22:04:33

动态的改变IFrame的高度实现IFrame自动伸展适应高度_javascript技巧的相关文章

JS实现iframe自适应高度的方法(兼容IE与FireFox)_javascript技巧

本文实例讲述了JS实现iframe自适应高度的方法.分享给大家供大家参考,具体如下: 之前一直被iframe自适应高度的问题困扰,很多JS代码在FF里面似乎就变成哑巴了.后来下面这段代码终于被我从万千号称兼容FF的代码堆中翻了出来.我已经用过了,真的好用.尤其是对于我这样的JS水平较低(真不好意思)的人来说,这段代码简单易懂,方便修改,只要把下面的代码复制粘贴到iframe所在页面的<body>标签里面,并且修改一下ID名就行了(注意,要修改的地方有两个,位置在代码中有说明). 向原创这段代码

用iframe实现不刷新整个页面上传图片的实例_javascript技巧

经常用到上传图片即时预览的功能,实现方式很多,用flash+js实现的比较多,今天遇到同事不想用flash之类也不想用网上的插件,那么我给了他一种解决办法: 思路: 1. 页面上传图片的部分放到一个iframe中,iframe设置无边框无滚动条,和所嵌入的页面风格一致,根据需要设置固定大小 2. 在iframe中提交上传图片的表单,提交后再次返回原页面(iframe所指向的页面)并从服务器带回刚上传的图片地址,调用父页面的js代码加载图片 3. 如果用到要进度条等效果,就在表单提交后,在serv

浅谈layer的iframe弹窗给里面的标签赋值的问题_javascript技巧

说到这一篇,真的是颠覆了我的思维. 官方文档,没有介绍这一部分的操作,大致上提了一下. 我的思路是把页面的数据传过去,在iframe弹窗的页面拿到接收到的数据,然后赋值,但是这样就会有个问题, 怎么传值呢? 想到了url传参,但是我的数据太长了,这样不保险. 第二种动作方法去数据库读取,然后在传递,可是我实在是不想已经有的数据还去一次数据库,那不是浪费性能么, 然后询问了无数群友,才有了这个方法 先上效果图 然后上代码 function editUser(i) { //编辑按钮的方法 var r

Javascript iframe交互并兼容各种浏览器的解决方法_javascript技巧

在Web前端开发中,我们经常会用到iframe这个控件. 但是这个控在内.外交互时,往往各个浏览器所用的关键字不同,很是麻烦,为了能够得到子iframe中的window对象,各家浏览器有着各家的指定,有的是window,有的是contentWindow等等也许还有我们不知道的. 但是从子页面访问父层页面,其本上大家都是window.parent就可以了. 那么通过这个特征,我们可以在子页面中,把自身的window对象传递给父页面就可以了,这样父页面就很轻松的访问子页面,再也不用靠虑如何从ifra

JS实现兼容火狐及IE iframe onload属性的遮罩层隐藏及显示效果_javascript技巧

本文实例讲述了JS实现兼容火狐及IE iframe onload属性的遮罩层隐藏及显示效果.分享给大家供大家参考,具体如下: <%@ page language="java" import="java.util.*" pageEncoding="GB2312"%> <% String path = request.getContextPath(); String basePath = request.getScheme() +

JavaScript中iframe实现局部刷新的几种方法汇总_javascript技巧

Iframe是一种嵌入网页的框架形式,Web页面可以通过更改嵌入的部分,达到部分内容刷新. Iframe的用法与普通的标签元素DIV类似,可以指定在页面中嵌入的位置.颜色.界面布局等 一.iframe实现局部刷新方法一 <script type="text/javascript"> $(function(){ $("#a1").click(function(){ var name= $(this).attr("name"); $(&q

iframe里使用JavaScript控制主页转向的方法_javascript技巧

本文实例讲述了iframe里使用JavaScript控制主页转向的方法.分享给大家供大家参考.具体分析如下: 下面的JS代码写在iframe里面,点击按钮后整个网页会转向指定的url,而不是只转iframe里的页面 <!DOCTYPE html> <html> <head> <script> function breakout() { if (window.top!=window.self) { window.top.location="tryjs

让iframe子窗体取父窗体地址栏参数(querystring)_javascript技巧

复制代码 代码如下: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>让iframe子窗体取父窗体地址栏参数(querystring)</title> <script type="text/javascript"> function f(){ //http://localhost:4101/MyFiles/netshop/ShopType.

iframe的onreadystatechange事件在firefox下的使用_javascript技巧

firefox不支持iframe的onreadystatechange事件,这个让我调试一下下午... 直接贴代码  我这里想做的效果是先生成一个iframe,当我想里面加载内容的时候触发这个事件, 代码可以很清晰的看到用onload方法来进行替代了.