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`,使其能根据内部内容自动调整高度。本文将深入讲解如何通过JavaScript来实现这一功能。 首先,让我们理解`iframe`的基本用法。在HTML中,创建一个`iframe`...
iFrame 自适应高度(兼容所有主浏览器) iFrame 自适应高度是前端开发中常见的问题,很多开发者在搜索引擎中搜索相关解决方案,但大多数文章只能解决静态高度的问题,而忽视了 JS 操作 DOM 之后的动态同步问题。...
同时,`iframe`内容的动态加载可能使得其高度不固定,如果不能自适应高度,可能会导致页面布局出现问题。本模板将介绍如何处理`iframe`的跨域和自适应高度这两个关键问题。 首先,让我们了解`iframe`跨域。由于同源...
标题"iframe跨域高度自适应例子源码"指的是一个实例,展示了如何在跨域的情况下使`iframe`内容自动调整高度以适应其内部内容。这个例子提供了一个在线演示(http://okiner.cn/demo/cross-domain/iframe.html)以及源...
前言 有时候,我们会使用 iframe标签,将前端分离项目无...演示地址: www.mixvjiezi.xyz/demo/iframe 我们要的效果如上图所示。 黄色区域 是通过 iframe标签引入 的body.html部分。 index.html : <!DOCTYPE htm
标题“iframe自适应内嵌页的高试,无srcoll”提示我们关注的是如何使`iframe`内容自适应容器,并且不显示滚动条,以保持页面的整洁和专业感。 首先,让我们理解`iframe`的基本结构。一个简单的`iframe`标签如下: `...
标题提到的“可编辑iframe高度自适应”问题,主要涉及如何确保`iframe`的高度能根据其内容动态调整,从而提供良好的用户体验,避免滚动条的出现或页面布局的混乱。`iframe`高度自适应是解决这个问题的关键技术。 ...
iframe自适应(iframe-self-adaption) iframe自适应,同域和跨域下实现 无刷新文件上传(fileupload) 利用Express4.12.1框架 + multiparty工具包实现了Node下的文件无刷新上传功能 利用iframe实现 利用ajax实现 ...
25、可以自适应iframe内容的大小(不跨域的前提下) 26、对超过预设面积大小的对话框拖动自动采用替身的方式,以求拖动更流畅 27、新增加一个'data'的接口,它保存了你对话框每次创建的消息对象 (操作iframe消息...
`ymPrompt_Ex.js`可能是ymPrompt4.0的扩展功能模块,它可能包含了额外的插件或特性,例如动画效果、自适应布局或更多交互选项。 最后,`skin`目录很可能包含了ymPrompt4.0的样式皮肤文件,允许开发者根据自己的需求...
6. **可拖动与自适应大小**:`lhgdialog`支持对话框的拖动和自适应内容大小的功能,提高用户体验。 7. **其他特性**:还有诸如自动关闭、定时关闭、防止多次弹出、阻止页面滚动等高级功能。 在`lhgdialogDemo`这个...
layer插件正是这样一款强大的Web弹层工具,凭借其易用性、灵活性和高度可定制性,深受开发者喜爱。 layer插件的核心功能在于它能够方便地创建各种类型的弹出层,包括信息提示、警告对话框、确认框、自定义内容的...
7. **窗口尺寸自适应**:除了iframe类型的窗口,jBox允许设置窗口尺寸为自适应,例如可以设置宽度和高度为`auto`。 ### 参数说明和代码示例 - **关闭隔离层**:`jBox('内容', {opacity: 0});` - **自动关闭对话框*...
3. **demo-iframe.html**:如果需要在iframe中嵌入表单,可以参考此文件,演示了如何在框架内正确显示表单。 4. **READ-ME-HELP-OPEN-NOW.txt**:这是重要的阅读文件,包含使用和配置表单的提示和帮助信息。 5. **...
参数包括绑定数据名bindName,内容类型type(html或md),具体数据data,Page对象target,以及图片自适应时左右的单一padding值imagePadding。 4. 在全局样式文件app.wxss中引入wxParse.wxss样式。 5. 在当前页面...
- 优化新建、重命名文件(夹) 高度自适应问题 - firefox ctrl+s 系统对话框屏蔽 - 树目录:收藏夹优化(右键绑定);右键操作优化,拖拽优化(文件管理&编辑器) - 收藏夹优化(右键 >编辑删除) ####update: **...