О загрузке окна, ondomready и т. Д. - PullRequest
1 голос
/ 27 июля 2011

С Geek Daily :

Событие загрузки не срабатывает, пока не будет загружен каждый последний фрагмент страницы.

Теперь у меня естьInframe в моем приложении JSF, и я не могу заменить ни в коем случае, этот 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 Ответ

2 голосов
/ 27 июля 2011

Метод, который вы ищете, это window.onload, используйте заглавные буквы.

Лучше всего установить прослушиватель загрузки кадра из кода, поступающего в iframe. Это можно сделать из родительского документа, но если вы дождетесь события загрузки основного документа, чтобы убедиться, что iFrame существует, загрузка iframe, возможно, уже сработала.

Вы также можете использовать элемент script непосредственно под iFrame, чтобы установить его свойство onload:

<iframe id="frameR" src="..."></iframe>

<script>
  var el = document.getElementById('frameR');
  if (el) el.onload = doStuff;
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...