本文参考了 作者 十一路客 的文章:https://blog.csdn.net/xyr05288/article/details/46416059,非常感谢作者的分享。
业务场景:
后台管理功能的jsp页面采用的iframe嵌套的页面结构,子页面中有数据列表等通过ajax加载的动态数据。
出现问题:
子页面的高度设置为100%,但是实际取的是当前页面的可见高度或者父页面的高度,如果子页面的高度大于父页面的高度,会出现滚动条,这样父页面和子页面各有一个滚动条,看起来实在是不美观,操作也繁琐。
解决方法:
在父页面写个方法
function changeHeight(height){
//改变装iframe的容器div的高度
$("#child_frame").css("height",height);
}
子页面需要引入一个js文件,详见附件,该js文件是从上面的参考文章中拿的,再次感谢作者。
子页面初始化需要写如下js代码:
$(document).ready(function(){
$("body").fadeIn(); //防止出现界面一闪的情况,界面默认是隐藏的,此时显示
changePH();
$("body").resize(function() { //body变化时执行
changePH();
});
$.ajaxSetup({
beforeSend : function() {
},
complete : function() { //ajax请求完成后执行
changePH();
},
error : function(xhr, type) {
}
});
});
//调用父级页面方法,修改父级页面的高度
function changePH(){
if(window.frameElement.src.indexOf("toStudyCourseList") != -1){
if(!($(window.frameElement.parentElement).css("display") == "none")){
var height = $('body')[0].scrollHeight;
window.parent.changeHeight($(window.frameElement.parentElement),height);
}
}else{
if(!($(window.frameElement.parentElement.parentElement).css("display") == "none")){
var height = $('body')[0].scrollHeight;
window.parent.changeHeight($(window.frameElement.parentElement),height);
}
}
}
相关推荐
这里,`url`参数指定了要打开的子页面的URL,而第三个参数是一个字符串,包含了多个分号分隔的属性设置,如窗口的宽度、高度,以及是否显示状态栏等。返回值`k`通常用于接收子窗口可能返回的数据,但在给定的代码中...
标题"iframe高度随子页高度变化"和描述中提到的问题,正是关注于这个动态调整`iframe`高度的技术。 要实现`iframe`高度随子页高度变化,主要涉及以下几个关键点: 1. **设置iframe的初始高度**:首先,我们需要为`...
`iframe-resizer`库提供了一种解决方案,它允许父页面和子页面之间进行通信,动态调整`iframe`的高度。使用方法如下: - 首先,将`iframe-resizer.js`引入父页面和`iframe`内的子页面。 - 在`iframe`的HTML中添加...
然而,`<iframe>`的高度自适应问题常常困扰着开发者,尤其是当`<iframe>`内部的内容动态加载或者变化时,如何让`<iframe>`自动调整其高度以适应内容,而不会导致滚动条溢出或内容被截断,成为了一个常见需求。...
总之,解决多个ECharts图表在不同页面上随窗口大小变化而动态调整的问题,关键在于使用`element-resize-detector`库来监听元素尺寸变化,而不是单纯依赖`window.onresize`事件。这样可以确保每个ECharts实例都能正确...
要实现动态调节,开发者通常需要利用JavaScript或者jQuery等JavaScript库来实时监测子页面内容的高度变化。当检测到变化时,通过修改父框架的CSS样式(如`height`属性)来调整框架大小。 4. **实例实现步骤** - *...
本篇文章将详细探讨"JQ多行文本框高度变化"这一主题,它是前端开发中常见的一种需求,尤其在用户输入多行文本时,确保文本框的高度能够动态适应内容的变化。 在HTML页面中,`<textarea>`元素通常用于创建多行文本...
`rows`属性用于设置初始行数,而`@input`事件监听文本变化,调用`adjustHeight`方法来调整高度。在`methods`中,我们使用`$nextTick`确保DOM更新后再计算高度。同时,我们还监听了`value`属性的变化,当父组件传递的...
标题“浏览器窗口放大缩小后页面内容居中解决方法”揭示了我们今天要探讨的核心问题:如何使网页内容在浏览器窗口缩放时仍然保持居中对齐。 在描述中提到了一个链接到CSDN博客的文章,虽然具体内容无法直接展示,但...
然而,一个常见的问题是当嵌入的内容高度变化时,如何使`iframe`的高度能够自适应地调整以适配其内容的高度。本文将详细介绍一种使用JavaScript实现`iframe`高度自适应的方法。 #### 技术背景 在默认情况下,`...
在网页开发中,有时我们需要在嵌入的iframe子页面与包含它的父页面之间进行JavaScript通信。这通常是出于功能集成或者数据交互的需求。本篇文章将详细阐述如何在同域和跨域的情况下实现这样的通信。 首先,我们来看...
然而,当嵌入的页面高度不固定时,可能会导致`iframe`显示不完整,用户需要滚动`iframe`内部才能查看全部内容。为了解决这个问题,我们需要让`iframe`自适应其内容页面的高度,确保内容能够完全展示,提高用户体验。...
需要注意的是,使用定时器检测DOM内容变化可能会带来性能上的问题,尤其是当检测频率过高时,可能会对页面性能造成影响。因此,这种方法通常适用于内容变化频率不高的场景,或者可以与更高级的检测策略(如 ...
然而,在一些交互场景下,比如子页面(由 `window.open` 创建的页面)需要与父页面(打开子页面的那个页面)进行交互,可能会涉及到刷新父页面的需求。本文将详细探讨如何实现这一功能。 首先,`window.open` 的...
为了使`iframe`的高度能够自适应其内部内容的高度变化,我们需要动态地获取`iframe`内部文档的实际高度,并将这个值设置为`iframe`自身的高度。具体实现步骤如下: 1. **获取`iframe`元素**: - 使用`document....
随着移动应用越来越依赖于互联网功能,开发者需要能够处理Web内容,同时也要能够监控Web内容的变化,例如URL的变化。本文档将详细讲解如何在Android的WebView中监听URL的变化以及如何监听页面加载的完成情况。 首先...
然而,当嵌入的内容高度不确定或者会动态变化时,如何让`iframe`的高度自适应其内容,并且不显示不必要的滚动条就成为了一个常见的需求。 #### 知识点解析 ##### 1. iframe元素简介 `iframe`(Inline Frame)是...
2. **调整容器的布局方式**:确保父容器能够正确地“感知”子元素的变化,并据此调整自身高度。 3. **适配微信小程序特性**:考虑到微信小程序的特定限制和优化方式。 #### 三、详细实现步骤 ##### 1. 页面结构...
当内容高度超过浏览器窗口时,浏览器会显示垂直滚动条,而如果内容高度刚好适应窗口,则隐藏滚动条。这种切换使得页面总宽度发生变化,从而引发抖动。 针对这个问题,我们可以采用以下CSS解决方案: 1. 添加`...