Измените document.body.style.backgroundColor на расширение Chrome, но не открывая его - PullRequest
0 голосов
/ 30 мая 2020

Что я хочу сделать

  1. Go на страницу
  2. Цвет фона уже изменен

Что я сделал

https://developer.chrome.com/extensions/getstarted
Я последовал этому руководству и сделал простое расширение Chrome.

Что могут делать пользователи с этим расширением Chrome:

  1. Go на страницу
  2. Откройте расширение, щелкнув значок, показанный в правом верхнем углу
  3. Щелкните показанную кнопку в маленьком всплывающем окне
  4. Подтвердите изменение цвета фона

(Короче, я хочу увидеть 4. без выполнения 2. и 3.)

Я изменил popup.js.

До

let changeColor = document.getElementById('changeColor');

chrome.storage.sync.get('color', function (data) {
    changeColor.style.backgroundColor = data.color;
    changeColor.setAttribute('value', data.color);
});

changeColor.onclick = function (element) {
    let color = element.target.value;
    chrome.tabs.query({ active: true, currentWindow: true }, function (tabs) {
        chrome.tabs.executeScript(
            tabs[0].id,
            { code: 'document.body.style.backgroundColor = "' + color + '";' });
    });
};

После

let changeColor = document.getElementById('changeColor');

chrome.storage.sync.get('color', function (data) {
    changeColor.style.backgroundColor = data.color;
    changeColor.setAttribute('value', data.color);

    chrome.tabs.query({ active: true, currentWindow: true }, function (tabs) {
        chrome.tabs.executeScript(
            tabs[0].id,
            { code: 'document.body.style.backgroundColor = "' + data.color + '";' });
    });
});

Я мог бы пропустить 3. (нажав кнопку), сделав это. Однако для этого по-прежнему требуется, чтобы пользователи щелкали значок в правом верхнем углу.

Вопрос

Как я могу изменить document.body.style.backgroundColor, не требуя, чтобы пользователи открывали окно расширения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...