Варианты обмена данными между расширением Chrome и Javascript страницы встраивания

#javascript #google-chrome-extension #requirejs

#javascript #google-chrome-extension #требуется js

Вопрос:

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

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

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

Мои варианты, похоже,:

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

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

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

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

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

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

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

Комментарии:

1. Может быть, это я, но я ничего не мог понять… Что именно вы пытаетесь сделать? Какие данные должны быть переданы куда, из расширения в ваш js на сайте?

2. или используйте » Передачу сообщений »