我有一个应用程序正在将外部文档的内容读入iFrame并将其显示给用户。为了使事情变得更复杂,我的iFrame中的内容包含一个框架集本身,我们的用户希望页面的高度随着内容的高度而扩展或收缩。基本上,他们不希望看到滚动条。当我在框架集中的每个页面加载时触发以下JavaScript函数时,这非常有效:
function resizeFrame() {
var windowDoc = window.top.document
var iframeCheck = null;
// first, check to see if we can find a window.top.document
if (windowDoc != null) {
var iframeCheck = windowDoc.getElementById('docIframe');
}
// did we really find the iFrame?
if (iframeCheck != null) {
// clean out the iframe height to avoid appending every time
iframeCheck.style.height = null;
var scrollHeight = document.body.scrollHeight + 75;
iframeCheck.style.height = scrollHeight + 'px'
}
}
页面高度恰到好处,一切看起来都不错。问题是,如果用户将鼠标放在框架内并尝试使用鼠标滚轮滚动,则不会发生任何事情。我想要做的是必须在框架内的滚动事件中包含页面移动。我认为我需要做的是捕获滚动事件并将其传递给包含页面,但我无法弄清楚这一点。事实上,我在onScroll()中为帧内容添加了一个JavaScript警报,并且尽可能地滚动它,它永远不会触发。这几乎就像滚动事件完全无法访问一样。任何人都可以建议一种方法吗?
谢谢, 亚历
答案 0 :(得分:1)
我确实找到了解决这个问题的方法。我无法挂钩滚动事件,但鼠标滚轮事件仍然很容易获得并很好地解决了问题。