Доктор Молле прав в своем ответе, но мне всегда нравятся рабочие примеры.
console.log("Opening new page at http://example.com");
page = window.open('http://example.com');
console.log(page);
console.log("calling alert on opened page");
page.alert("I opened and the previous windows JS called me!!!!");
console.log("called alert");
Пример страницы => [Удалено.См. Обновление ниже]
Результаты:
Примечание: Мне пришлось разрешить всплывающие окна длядемонстрационный код для работы, но это еще одна проблема для другого вопроса SO.;)
ОБНОВЛЕНИЕ:
Так что
page.alert()
сработало, потому что ждать не пришлосьдля загрузки страницы, чтобы она работала.Чтобы иметь возможность вызывать функцию на загруженной странице сценария, необходимо убедиться, что сценарий завершил загрузку.Чтобы проиллюстрировать это, я изменил свой пример.
Пример страницы => http://mikegrace.s3.amazonaws.com/forums/stack-overflow/example-call-function-in-opened-page.html
JS выглядит так
page = window.open('http://mikegrace.s3.amazonaws.com/forums/stack-overflow/example-the-other-page.html');
var initOtherPage = function() {
try {
page.showMeTheMoney();
console.log("It worked!");
} catch (e) {
console.log("failed to call function on other page because: "+e);
setTimeout(function() {
console.log("trying again")
initOtherPage();
}, 1000);
}
}
initOtherPage();
Консольный вывод
Открытая страница