JS实现iframe内部网页滚动到底部触发事件的方案
作者:流萤时间:2026-10-27 23:46:02浏览:556
本文介绍如何在主页面中监听iframe内部内容的滚动状态,通过获取contentWindow.document.documentElement的scrollTop、scrollHeight和clientHeight属性,判断iframe内网页是否滚动至底部。代码包含iframe嵌入及onscroll事件绑定的完整实现,并提及Chrome浏览器的兼容注意事项。
iframe滚动到底部判断方案
此前遇到一个需求,需要判断iframe嵌入的网页是否滚动到底部以触发特定事件。网络上多数资料仅涉及当前页面自身的滚动判断,因此经过自行研究,找到了针对iframe内部滚动的解决方法。
clientHeight属性表示元素占据的整个垂直空间高度,即可视区域的高度。
offsetHeight属性指元素内容的实际高度,包含边框和滚动条(如果存在)。
scrollTop属性表示滚动条当前滚动过的长度,即元素顶部距离视口顶部的距离。
代码实现与注意事项
以下是实现该功能的具体代码示例。
具体代码如下所示:
<iframe src="~/Files/3.html" id="iframepage" width="825" onload="func()"></iframe>
<script type="text/javascript">
function func() {
var ifm = document.getElementById("iframepage");
ifm.height = window.document.body.clientHeight - 100;
}
<!--在chrome有兼容问题,FF和IE10无问题,网上说chrome访问iframe要在服务器环境下,不知道情况-->
window.document.getElementById("iframepage").contentWindow.onscroll = function aaa() {
var ifm = document.getElementById("iframepage").contentWindow.document.documentElement;
if (ifm.scrollTop == ifm.scrollHeight - ifm.clientHeight) {
alert("到底了");
}
}
</script>作者最新文章
JavaScript将图片转换为Base64编码的两种途径
2026-11-05 16:43:05
怎么在 Vue 或 React 项目中正确集成 animate.js
2026-11-05 10:23:38
JS注册事件:addEventListener基础语法与参数详解
2026-11-05 08:44:56
JSP和JS的区别:运行环境与服务端/客户端职责解析
2026-11-04 23:34:36
pdf.js 官方下载地址:GitHub Release 获取预编译包
2026-11-04 23:07:27
