Как скопировать текст из iframe в переменную js?



@ItIt

Как можно скопировать текст из iframe в переменную js без использования сервера что бы это работало в chrome и не ругался cors


Решения вопроса 0


Ответы на вопрос 1



@bingo347 Куратор тега JavaScript

Если в iframe загружена страница с того же origin (протокол + домен + порт) откуда загружена текущая — то Вы имеете полный доступ к его window через свойство contentWindow. Соответственно можете обращаться к его DOM, глобальным переменным, менять их и т.д.

Если в iframe будет страница с другого origin, то ничего этого нет, с ней можно лишь общаться через postMessage api, но если страница не Ваша, то и скрипт для обработки postMessage + каких-либо еще действий Вы туда не вставите.

Если сторонний сайт отдает нормальные CORS заголовки при запросе с Вашего сайта (что судя по вопросу не так, но все же), то можно скачать страницу как текст через fetch api и распарсить ее через DOMParser.

В противном случае остается только делать прослойку у себя на сервере, тут простор фантазии может быть очень широким, от банального reverse proxy прямо в nginx до чего-то более умного на любом серверном ЯП.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *