Когда обращаюсь к элементам document.getElementById() зная, что элемент есть на странице получаю null.
Только если открыть консоль разработчика и найти элементам в dom, после вызвать document.getElementById(), смогу получить элемент.
Ошибку получаю когда использую метод window.frames[0].contentDocument.getElementById(‘btn-modal__confirmAcct’).
Подскажите как получить доступ к елементу?
Спасибо!
Браузеры реализуют “same origin policy” для ифреймов. Она запрещает доступ к ифреймам с другого домена и другого протокола (например доступ к https странице с http). Это сделано для того, чтобы, любой владелец сайта не мог на своем сайте было загрузить ифрейм с почтой, в которой ты залогинен, и нащелкать в нем вместо тебя.
Варианты решения твоей ситуации:
- разместить обе страницы на одном домене и протоколе
- попробовать манипулировать
document.domain
значением - настроить сообщение между ифреймами с помощью
postMessage
Вот статья (en) чтобы начать копать.
2 лайка
Спасибо, очень мало информации по этому вопросу.