Я разрабатываю расширение Chrome, которое меняет некоторые функции веб-страниц (например, цвет текста, цвет фона, цвет ссылки), выбирая их во всплывающем окне и применяя их с помощью jQuery или Javascript. Теперь он работает нормально для ActiveTab, когда я открываю всплывающее окно и выбираю цвета, но я хотел бы применить те же функции
- для всех вкладок, уже открытых в браузере (не только activeTab)
- для всех будущих вкладок, которые я могу открыть во время навигации (например, новая вкладка, которая будет открыта, когда я нажму на ссылку на текущей веб-странице)
- наконец сохраняйте эти функции, даже когда браузер закрыт, чтобы установить их один раз, браузер будет снова открыт.
Для пункта 3 я думаю, что я должен использовать API хранилища Chrome , но я не знаю, какой тип и как его использовать. Вместо этого для пунктов 1 и 2 я не знаю, как действовать.
Я поместил выдержку из текущего кода, который я разработал.
Popup.js
function changeBackground(){
var color = document.getElementById('backC').value; //color taken by a color picker
chrome.tabs.query({ active: true, currentWindow: true}, function(tabs) {
chrome.tabs.sendMessage(tabs[0].id, { type: 'backcolor', bColor: color});
});
}
ContentScript.js
chrome.runtime.onMessage.addListener(
function(message, sender, sendResponse) {
switch(message.type) {
case "backcolor":
backgroundColor = message.bColor;
$("*").css("background-color", message.bColor);
break;
default:
console.error("Unrecognised message: ", message);
}
}
);
Если вы можете помочь мне найти некоторые решения для трех пунктов. Спасибо!