Я просматриваю расширение хром и сталкивался с этими двумя сомнениями, которые я хотел уточнить.Необходимо настроить прослушиватель событий для хромовых расширений
В расширения, что я рассматриваю, я получаю, чтобы увидеть часть кода в файле «background.js», где сообщение передается в скриптах контента с помощью следующих строк кода:
chrome.tabs.query({active: !0, currentWindow: !0}, function (a) {
chrome.tabs.sendMessage(a[0].id, {action: "process_page"}, function (a) {
})
})
Мой первый запрос заключается в переданном json-ified сообщении ({action: "process_page"}). Мне не удалось найти какие-либо связанные события прослушивателя в любом месте базы кода для сообщения (process_page). Фактически, «process_page», кажется, существует только один раз во всей базе кода, и это тоже в файле background.js. Итак, я хотел знать, является ли прослушиватель событий обязательным для всех методов chrome.tabs.sendMessage или является прослушивателем событий необязательным.
Мой второй запрос - из документа chrome.tabs Google - https://developer.chrome.com/extensions/tabs#type-Tab, я понял, что первый параметр метода sendMessage соответствует идентификатору табуляции. Но я хотел бы понять, почему он был представлен как «a [0] .id»?
Любые четкие указатели или пояснения будут действительно полезными.
Посмотрите на хром .runtime.onMessage, chrome.runtime.onConnect и устаревший предшественник chrome.extension.onRequest. По-видимому, это расширение обрабатывает любое сообщение независимо от его содержимого. – wOxxOm
@wOxxOm Спасибо за ответ. Ну, пожалуйста, помогите мне понять, что вы имели в виду «По-видимому, это расширение обрабатывает любое сообщение независимо от его содержимого». – mbvee
U hm, это просто так. Расширение может просто не заботиться о фактическом содержимом сообщения, оно скорее делает что-то по самому факту получения сообщения, или отправителю сообщения, или, может быть, этот код остался и ничего не делает. – wOxxOm