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

iframe自适应高度demo

 
阅读更多

2个文件放到同一个目录下,chrome访问需要通过web服务器,如tomcat   ,127.0.0.1:8080/test/html/iframeParent.html。

1iframe.html

 

<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<body>
<div id="initContent" onclick="addContent()">iframe里的内容</div>
</body>
<script type="text/javascript">
document.body.onload = new function(){
	resetIframeHeight();
};   
function resetIframeHeight() {
  //获取iframe带滚动条时候的高度
  var h = document.body.scrollHeight;
  //对iframe(window.frameElement)设置高度,也可以通过id获取元素。
  //chrome访问window.frameElement为null,在web服务器下访问可以正常。
  //原因Chrome不允许采用file:协议引用父窗口。
  window.frameElement.height = h;
}

function addContent(){
	var initNode=document.getElementById("initContent");
	var newNode = document.createElement("p");
	newNode.innerHTML = "This is a p element";
	initNode.parentNode.appendChild(newNode);
	//initNode.parentNode.insertBefore(newNode,null); 
        resetIframeHeight();
}
</script>

 

父页面:iframeParent.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>iframe自适应高度demo</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  
  <body >
  <div>父页面上</div>
  <div>
		<iframe name="picUpload" height="1px" width=100% frameborder=0 scrolling=no src="iframe.html">
		</iframe>
  </div>
  <div>父页面下</div>
  </body>
</html>

 注意:chrome如果不通过web容器访问,报错:

Unsafe JavaScript attempt to access frame with URL file:///D:/mmt/workspace/thrillerzwtest/Web/html/iframeParent.html from frame with URL file:///D:/mmt/workspace/thrillerzwtest/Web/html/iframe.html. Domains, protocols and ports must match.
 iframe.html:16

 

扩展:

 iframe调用父窗口函数:
 parent.resetIframeHeight();(或window.parent.resetIframeHeight();
  
  父窗口调用iframe 的scrollHeight:
  var picUpload=document.getElementById("picUpload");
  var h = window.frames["picUpload"].document.body.scrollHeight;
 // var h = picUpload.document.body.scrollHeight; //Uncaught TypeError: Cannot read property 'body' of undefined
  picUpload.height = h;

 

    appendChild() 方法在节点的子节点列表末添加新的子节点。pElement.appendChild(newNode);
     insertBefore() 方法在节点的子节点列表任意位置插入新的节点。如:pElement.insertBefore (newNode,pElement.childNodes[0]);

 

分享到:
评论

相关推荐

    iframe自适应高度js demo

    为了解决这个问题,我们需要实现一个自适应高度的`iframe`,使其能根据内部内容自动调整高度。本文将深入讲解如何通过JavaScript来实现这一功能。 首先,让我们理解`iframe`的基本用法。在HTML中,创建一个`iframe`...

    iframe自适应高度(兼容目前所有主浏览器)

    iFrame 自适应高度(兼容所有主浏览器) iFrame 自适应高度是前端开发中常见的问题,很多开发者在搜索引擎中搜索相关解决方案,但大多数文章只能解决静态高度的问题,而忽视了 JS 操作 DOM 之后的动态同步问题。...

    iframe跨域自适应高度模板

    同时,`iframe`内容的动态加载可能使得其高度不固定,如果不能自适应高度,可能会导致页面布局出现问题。本模板将介绍如何处理`iframe`的跨域和自适应高度这两个关键问题。 首先,让我们了解`iframe`跨域。由于同源...

    iframe跨域高度自适应例子源码

    标题"iframe跨域高度自适应例子源码"指的是一个实例,展示了如何在跨域的情况下使`iframe`内容自动调整高度以适应其内部内容。这个例子提供了一个在线演示(http://okiner.cn/demo/cross-domain/iframe.html)以及源...

    使用postMessage让 iframe自适应高度的方法示例

    前言 有时候,我们会使用 iframe标签,将前端分离项目无...演示地址: www.mixvjiezi.xyz/demo/iframe 我们要的效果如上图所示。 黄色区域 是通过 iframe标签引入 的body.html部分。 index.html : &lt;!DOCTYPE htm

    iframe自适应内嵌页的高试,无srcoll

    标题“iframe自适应内嵌页的高试,无srcoll”提示我们关注的是如何使`iframe`内容自适应容器,并且不显示滚动条,以保持页面的整洁和专业感。 首先,让我们理解`iframe`的基本结构。一个简单的`iframe`标签如下: `...

    可编辑iframe高度自适应(编辑器所见即所得模式)

    标题提到的“可编辑iframe高度自适应”问题,主要涉及如何确保`iframe`的高度能根据其内容动态调整,从而提供良好的用户体验,避免滚动条的出现或页面布局的混乱。`iframe`高度自适应是解决这个问题的关键技术。 ...

    NodeDemos:节点演示

    iframe自适应(iframe-self-adaption) iframe自适应,同域和跨域下实现 无刷新文件上传(fileupload) 利用Express4.12.1框架 + multiparty工具包实现了Node下的文件无刷新上传功能 利用iframe实现 利用ajax实现 ...

    artDialog_Demo

    25、可以自适应iframe内容的大小(不跨域的前提下) 26、对超过预设面积大小的对话框拖动自动采用替身的方式,以求拖动更流畅 27、新增加一个'data'的接口,它保存了你对话框每次创建的消息对象 (操作iframe消息...

    ymPrompt4.0 JS 弹出窗 拖动层

    `ymPrompt_Ex.js`可能是ymPrompt4.0的扩展功能模块,它可能包含了额外的插件或特性,例如动画效果、自适应布局或更多交互选项。 最后,`skin`目录很可能包含了ymPrompt4.0的样式皮肤文件,允许开发者根据自己的需求...

    js实现模态窗口实例(lhgdialog)

    6. **可拖动与自适应大小**:`lhgdialog`支持对话框的拖动和自适应内容大小的功能,提高用户体验。 7. **其他特性**:还有诸如自动关闭、定时关闭、防止多次弹出、阻止页面滚动等高级功能。 在`lhgdialogDemo`这个...

    layer弹出层插件

    layer插件正是这样一款强大的Web弹层工具,凭借其易用性、灵活性和高度可定制性,深受开发者喜爱。 layer插件的核心功能在于它能够方便地创建各种类型的弹出层,包括信息提示、警告对话框、确认框、自定义内容的...

    jBox 2.3基于jquery的最新多功能对话框插件 常见使用问题解答

    7. **窗口尺寸自适应**:除了iframe类型的窗口,jBox允许设置窗口尺寸为自适应,例如可以设置宽度和高度为`auto`。 ### 参数说明和代码示例 - **关闭隔离层**:`jBox('内容', {opacity: 0});` - **自动关闭对话框*...

    Ajax Contact Form Responsive Captcha:Ajax Bootstrap联系人表单响应式-无重定向-Php电子邮件-开源

    3. **demo-iframe.html**:如果需要在iframe中嵌入表单,可以参考此文件,演示了如何在框架内正确显示表单。 4. **READ-ME-HELP-OPEN-NOW.txt**:这是重要的阅读文件,包含使用和配置表单的提示和帮助信息。 5. **...

    微信小程序 wxParse插件显示视频问题

    参数包括绑定数据名bindName,内容类型type(html或md),具体数据data,Page对象target,以及图片自适应时左右的单一padding值imagePadding。 4. 在全局样式文件app.wxss中引入wxParse.wxss样式。 5. 在当前页面...

    KODExplorer 芒果云-资源管理器

    - 优化新建、重命名文件(夹) 高度自适应问题 - firefox ctrl+s 系统对话框屏蔽 - 树目录:收藏夹优化(右键绑定);右键操作优化,拖拽优化(文件管理&编辑器) - 收藏夹优化(右键 &gt;编辑删除) ####update: **...

Global site tag (gtag.js) - Google Analytics