来自Geek Daily:
在加载页面的最后一部分之前,onload事件不会触发。
现在我的jsf应用程序中有一个inframe,我不能用任何方法替换,这个iframe与任何其他jsf组件。我试图在加载iframe时将滚动条的滚动位置设置为iframe到特定坐标。我试过这个:
window.onLoad(onLoad);
function onLoad() {
var frames = window.parent.frames;
var iframe = frames['frameR'];
iframe.contentWindow.scrollTo(0, 200);
}
但它不起作用。我在alert(iframe)
之后放置了var iframe = frames['frameR'];
,但它显示的是[object Window]
消息,但iframe.contentWindow.scrollTo(0, 200);
根本不起作用。
要么我做错了,要么所有的jsf组件都没有在iframe中呈现,那么可以设置iframe的滚动位置。
有没有办法实现这个功能?
onLoad
是否是渲染所有组件之前的最后一个事件?
答案 0 :(得分:2)
您要查找的方法是window.onload
,请注意大小写。
最好从进入iframe的代码中设置框架的onload侦听器。它可以从父文档中完成,但如果您等待主文档的加载事件以确保iFrame存在,则iframe的加载可能已经被触发。
您还可以使用iFrame正下方的脚本元素来设置它的onload属性:
<iframe id="frameR" src="..."></iframe>
<script>
var el = document.getElementById('frameR');
if (el) el.onload = doStuff;
</script>