Javascript получить элемент из открытого окна - PullRequest
2 голосов
/ 15 февраля 2012

Мне нужно открыть новое окно и вернуть содержащийся в нем элемент.

Скажем, у нас есть страница A и страница B, я хочу:

открыть B из A получить интересующий элемент B вернуть этот элемент в A

Я пытался сделать это таким образом, но это не работает:

var newwindow = window.open("http://www.example.com");
var elem = newwindow.document.getElementById('my-id').value;

Где я не прав? Кто-нибудь дал мне какой-нибудь совет?

Ответы [ 2 ]

5 голосов
/ 15 февраля 2012

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

Если это не так, то вы, вероятно, попали в состояние гонки, пытаясь прочитать содержимое документадо завершения загрузки.

Было бы намного проще помочь, если вы предоставили сообщения об ошибках, которые ваш браузер почти наверняка регистрирует на своей консоли JS.

0 голосов
/ 15 февраля 2012

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

Если вы контролируете обе страницы, вы можете использовать window.postMessage .

...