JS: Обнаружение, когда дочернее окно загружается «каждый раз», когда оно это делает - PullRequest
3 голосов
/ 25 августа 2011

Я пытаюсь добавить некоторые функции проверки загрузки страницы к родительским, дочерним окнам, используя javascript

Моя цель состоит в том, чтобы обнаруживать «из родительского окна», каждый раз, когда дочернее окно полностью загружается, затем выполнять некоторыекод.

Я использую следующий пример кода в родительском окне:

<script type='text/javascript'>

childPage=window.open('http://www.example.com');

childOnLoad=childPage.addEventListener('load', LoadAndGo, true);

function LoadAndGo()
{
    if(confirm("Press a button")==true)
    {
        //childPage.removeEventListener ("load", childOnLoad, false);
        childPage.top.location.href="http://www.example.com";
        //childOnLoad=childPage.addEventListener('load', LoadAndGo, true);
    }
}
</script>

Предыдущий Код присоединяет и обнаруживает событие загрузки к моему дочернему окну, затем перенаправляет его на другую страницу «после того, как я нажму кнопку подтверждения»,

Что я хочу сделать, это чтобы родительское окно обнаружило следующего дочернего элементазагружает, т.е. обнаруживает загрузку после перенаправления.

Я пытался удалить, затем повторно присоединить новое событие загрузки "закомментированные строки", но кажется, что родительское окно обнаруживает только первую дочернюю загрузку.

Таким образом, поток должен идти так:

Родитель открывает ребенкаРодитель обнаруживает дочернюю нагрузкуРодитель перенаправить ребенкаРодитель снова обнаруживает детскую нагрузку,,и так далее

- мне принадлежат две страницы, которые используют один и тот же домен и протокол.- JS не должен выполняться в дочернем окне «то есть дочернее окно не может проверить, загружается ли оно и передать данные в родительское окно».

1 Ответ

0 голосов
/ 25 августа 2011

Повторная привязка после того, как ребенок стал ориентироваться, не работает?

<script type='text/javascript'>

    var childPage = window.open('http://www.example.com');

    childPage.addEventListener('load', LoadAndGo, true);

    function LoadAndGo()
    {
        if(confirm("Press a button") == true)
        {
            childPage.top.location.href = "http://www.example.com";

            // Re-bind
            childPage.addEventListener('load', LoadAndGo, true);
        }
    }

</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...