У меня следующий рабочий процесс:
- щелкните значок расширения
- backgroundMessaging. js сценарий отправляет сообщение
- contentMessaging. js сценарий получает сообщение и запускает функцию ReadPageMetadata в content. js
- content. js выполняет функцию и анализирует страницу.
Пока все хорошо, но все работает до тех пор, пока я не изменю URL-адрес (нажав ссылку на любой странице). Скрипты контента как-то теряются. Фоновый сценарий по-прежнему отправляет сообщения, но их никто не слушает. Любая помощь?
manifest. json
{
"browser_action": {},
"externally_connectable": {
"ids": [ "*" ],
"matches": [ "*://*.example.com/*" ]
},
"content_scripts": [
{
"matches": [
"https://*/*",
"http://*/*"
],
"js": [
"jquery.min.js",
"content.js",
"contentMessaging.js"
]
}
],
"background": {
"scripts": [
"backgroundMessaging.js"
],
"persistent": false
},
"permissions": [
"tabs"
]
}
backgroundMessaging. js
chrome.browserAction.onClicked.addListener( function(tab) {
console.log('clicked', tab);
chrome.tabs.sendMessage( tab.id, { page_url: tab.url });
});
contentMessaging. js
chrome.runtime.onMessage.addListener( (request, sender) => {
//console.log('request', request);
//console.log('sender', sender);
ReadPageMetadata(request);
});