关于Window onload,ondomready等

时间:2011-07-27 05:23:46

标签: javascript jsf iframe

来自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是否是渲染所有组件之前的最后一个事件?

1 个答案:

答案 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>