Ошибка HighCharts 16

Скрипты содержимого имеют ограниченный доступ к API Chrome. Этот доступ не включает API, который вы пытаетесь использовать (например, chrome.tabs). Если вам нужно использовать этот API, вам нужно будет сделать это в фоновом скрипте 1.

Как указано в документации к скрипту в Chrome , API, доступный для скрипта содержимого: [Я разместил устаревшие методы в формате strikethrough]:

blockquote>

Пара перечисленных API устарела и была на некоторое время. Те, которые устарели, переместились в разные места (также перечисленные выше):

Если он официально не устарел, extension.lastError также доступен как runtime.lastError . На этом этапе его обычно называют в этом месте:

Разделите свой расширение в фоновые скрипты и скрипты содержимого

Вам нужно будет отделить свой код от того, что должно быть в фоновом скрипте и что должно быть в сценариях контента, на основе возможностей, доступных для каждого типа скрипт. Скрипты содержимого имеют доступ к DOM веб-страницы, на которую они вводятся, но ограниченный доступ к API расширений. Фоновые сценарии имеют полный доступ к API расширений, но не имеют доступа к содержимому веб-страницы. Вы должны прочитать обзор расширений Chrome Chrome и связанные с ним страницы, чтобы понять, какая функциональность должна располагаться в том типе сценария.

для связи между вашими сценариями контента и фоновыми скриптами. Для этого вы можете использовать передачу сообщений . Это позволяет вам передавать информацию между двумя сценариями для выполнения действий, которые невозможны, используя только один тип скрипта. Например, в вашем скрипте содержимого вам может понадобиться информация, доступная только из одного из других API Chrome, или вам нужно что-то, что может быть выполнено (или только) с помощью одного из других API расширения Chrome. В этих случаях вам понадобится отправить сообщение в фоновый скрипт, используя chrome.runtime.sendMessage() , чтобы сказать, что нужно сделать, при этом обеспечивая достаточную информацию для него чтобы иметь возможность сделать это. Затем ваш фоновый скрипт может вернуть желаемую информацию, если она есть, в ваш скрипт содержимого. В качестве альтернативы вы будете иметь время, когда обработка будет в основном выполняться в фоновом скрипте. Фоновый сценарий может вводить сценарий содержимого или просто сообщение уже введенного сценария, получать информацию со страницы или вносить изменения в веб-страницу.


  1. Фоновый скрипт означает любой скрипт то есть в фоновом контексте. В дополнение к фактическим background скриптам , это включает всплывающие окна и страницы опций и т. Д. Однако единственная страница, на которой вы можете быть уверены, что она всегда доступна для приема сообщений из сценария контента, является вашей фактической background скриптов , определенных в manifest.json . Другие страницы могут быть доступны в некоторых случаях в результате взаимодействия пользователя с браузером, но они недоступны последовательно.

Этот ответ был перемещен из дублирующего вопроса , а затем модифицировано.

0
задан Happy Coder 16 January 2014 в 05:53
поделиться