![](/img/trans.png)
[英]How can I save data from background.js to local machine and fetch this data when required by a button on the popup.html page?
[英]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.