Параметры для связи между расширением Chrome и Javascript страницы встраивания - PullRequest
1 голос
/ 01 октября 2011

Я отслеживаю события браузера, например, при создании новой вкладки.Мое расширение должно отображать эти события браузера на новой вкладке.

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

Новая вкладка пока представляет собой перенаправление на мое одностраничное приложение, размещенное на моем сервере.

Кажется, что у меня есть вариантыбыть:

  1. Использование пользовательских событий для отправки сообщений между скриптом содержимого и страницей встраивания: http://code.google.com/chrome/extensions/content_scripts.html#host-page-communication

    Это похоже на угрозу безопасности, так как javascript страницы также будетиметь доступ к DOM и, следовательно, к сообщениям, которыми я обмениваюсь.

  2. Загрузка HTML-кода с сервера в iframe, извлечение JS-приложения с сервера и вставка его в iframe в виде содержимого.Это позволяет JS приложения иметь полный доступ к API расширения Chrome, что мне и нужно.

Другое соображение заключается в том, что мой проект в настоящее время использует RequireJS.Для варианта 2, похоже, я не смогу его использовать.

Может ли кто-нибудь порекомендовать предпочтительный вариант, учитывая риски безопасности варианта 1?

Смогу ли я использовать RequireJS с опцией 2?

Есть ли другой способ добиться этого?

...