Создание скрытого iframe в расширении Chrome - PullRequest
3 голосов
/ 20 апреля 2011

Можно ли создать iframe на странице background.html в расширении google-chrome и отправить ли он запрос на веб-сайт?Я не уверен, как именно работает расширение.Chrome автоматически игнорирует все отображаемые теги или запускает его невидимо?

Ответы [ 3 ]

5 голосов
/ 20 апреля 2011

Он будет нормально загружать iframe, но я не думаю, что можно прочитать что-либо из iframe из-за ограничений того же происхождения.Например, этот фоновый скрипт завершается ошибкой:

<body>
<script>
var iframe = document.body.appendChild(document.createElement('iframe'));
iframe.src = 'http://www.google.com';
iframe.onload = function() {
  console.log(iframe.contentDocument.innerHTML);
};
</script>

с ошибкой: «Небезопасная попытка JavaScript получить доступ к фрейму с URL-адресом http://www.google.com/ из фрейма с URL-расширением chrome: //elbpnmnjddamdmjmdnmhankaimaldhmf/background.html. Домены, протоколы и порты должны совпадать. "

2 голосов
/ 20 апреля 2011

Насколько я понимаю, фоновая страница расширения никогда не отображается, но она должна "работать" так, как ожидается (например, атрибут src тега img вызовет выборку данных изображения).Я новичок в реализации расширений, но обзор архитектуры , кажется, подразумевает это, как и примеры, которые я видел.

Вы можете нажать на ссылку на background.html вПанель управления расширениями и проверить источник / дом / и т. д.

0 голосов
/ 20 апреля 2011

После тестирования себя: по-видимому, Google-Chrome действительно запускает фреймы. Это просто не будет отображать их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...