簡體   English   中英

單擊popup.html上的按鈕時運行background.js文件的簡單方法

[英]simple way to run background.js file when a button on popup.html is clicked

當我單擊我的popup.html文件上的按鈕時,我一直試圖在background.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.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!

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);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM