Возможно ли изменять содержимое Iframe из расширения Chrome?

Пишу расширение для Хрома, и мне необходимо модернизировать содержимое Iframe на странице.

Вставить код через executeScript и там получить доступ к фрейму не получается: выдает ошибку безопасности.

Есть ли какая-нибудь возможность изменять содержимое IFrame напрямую из расширения? (К примеру как с ajax-запросами: вставить скрипт на страницу и оттуда отправлять запрос на другой домен нельзя - ошибка безопасности, а из самого расширения отправлять запросы возможно).
  • Вопрос задан
  • 4212 просмотров
Решения вопроса 1
qmax
@qmax
программер
Вам нужен content script, загружаемый на тот урл, котрый грузится во фрейме.
Этот скрипт будет иметь доступ к содержимому.
В одном расширении может быть несколько контент-скриптов.

"content_scripts": [
{ "matches: "http://урл_по_которому_грузится_фрейм",
  "js": "скрипт_коорый_грузить_в_этот_фрейм" }
]


Проблема будет в том, что этот скрипт не сможет общаться напрямую с background-скриптом (у них разные originы и они изолированы)
Тут надо копать в сторону chrome.extension.connect и на эту тему могу подбросить относительно красивую реализацию для коммуникации между расширением и контент-скриптами в нескольких фреймах/страницах.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
qmax
@qmax
программер
manifest.permissions для расширения должно совпадать с url фрейма.
иначе никак.

туда, однако, можно засунуть паттерны.
Ответ написан
Комментировать
Alexufo
@Alexufo
противоречивый, сложный, весь компьютерный.
Получайте iframe расширением. Модицицируйте и вставляете на страницу. Лучше вообще распарсить расширением iframe если у вас большие модификации.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы