js判断iframe内的网页是否滚动到底部触发事件

JavaScript09

js判断iframe内的网页是否滚动到底部触发事件,第1张

这篇文章主要介绍了js判断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>

你是在哪个位置获取iframe中内容的高度的呢?如果是在父页面的话你的语句没有问题,但必须要在iframe中内容加载完成后再获取,你可以用一个按钮来ALERT一下,或者在onload事件里ALERT一下来显示看看获取有没有问题

<IFRAME onload="alert(this.contentWindow.document.body.scrollHeight)“ src="">></IFRAME>

<script>

function judge()

{

var src = "http://zhidao.baidu.com/"

var url = document.getElementById("iframeid").src

if (url===src) return

else document.getElementById("iframeid").src = src

}

</script>