простой способ запустить файл background.js при нажатии кнопки в popup.html - PullRequest
0 голосов
/ 09 сентября 2018

Я пытался запустить функцию в своем файле background.js, когда я нажимал кнопку в моем файле popup.html, я перепробовал несколько примеров в Интернете, и до сих пор ни один из них не работал для меня.

Вот что я попробовал:

$(".start-btn").click(function() {

    var task = loadTaskFromStorage($("#select-task").val());

    var checkbox = $('input[type="checkbox"]');
    var autobuy = $(checkbox).prop('checked');
    var delay = $("#checkout-ms").val();
    var count = localStorage.getItem('count');


    chrome.storage.sync.set({'task': task.cells, 'count': count}, function() {

    });

    chrome.storage.sync.set({'autobuy': autobuy, 'delay': delay}, function() {
    });

    chrome.runtime.sendMessage({'run': true);

затем в файле background.js попытался сделать это:

chrome.runtime.onMessage.addListener(function(message, sender) {
  if(!message.run) return;

  finder();
});

function finder() {
    //pulling json info and opening url loop
});

Я хочу, чтобы chrome.storage.sync.get все мои вещи, которые я сохранил в своем файле popup.js, затем запустил функцию .. Я пробовал кучу решений, и пока ни одно из них не сработало для меня .. .

Спасибо, что помогли мне заранее <3! </p>

1 Ответ

0 голосов
/ 09 сентября 2018

popup.js:

Соберите данные и отправьте их на задний план:

$(".start-btn").click(function() {

    var task = loadTaskFromStorage($("#select-task").val());

    var checkbox = $('input[type="checkbox"]');
    var autobuy = $(checkbox).prop('checked');
    var delay = $("#checkout-ms").val();
    var count = localStorage.getItem('count');

    chrome.runtime.sendMessage({ run: true, data: {
        task: task.cells,
        count,
        autobuy,
        delay
    } });
}

background.js:

Получить данные, отправленные из всплывающего окна, сохранить их и использовать:

chrome.runtime.onMessage.addListener(function(message, sender) {
    if(!message.run) return;

    var data = message.data;
    chrome.storage.sync.set(data, function() { /* ... */ });
    console.log(data);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...