【发布时间】:2020-05-07 04:28:46
【问题描述】:
我正在尝试构建仅在某些网站域/URL 上启动的秒表 chrome 扩展。我已经了解了该项目的整个秒表方面,但是每当我关闭 chrome 扩展并重新打开它时,它会拉出秒表的最后一个位置,但随后会重置为零。我尝试使用 Chrome 的内置 API 进行内存存储,例如 chrome.storage.sync.get 和 chrome.storage.sync.set,但是每当我关闭选项卡时,它都会从上次存储计时器的位置拾取,然后重新启动回到零,并且不会从存储秒表的位置继续。当我点击秒表仍在运行的扩展时,我该如何实现?
这是我的 Javascript:
chrome.storage.sync.get('time', function(get_time){
if (get_time.time) {
document.getElementById("display").innerHTML = get_time.time;
}
});
let seconds = 0;
let minutes = 0;
let hours = 0;
let displaySeconds = 0;
let displayMinutes = 0;
let displayHours = 0;
function stopWatch() {
seconds++;
if (seconds / 60 === 1) {
seconds = 0;
minutes++;
if (minutes / 60 === 1) {
minutes = 0;
hours++;
}
}
if (seconds < 10) {
displaySeconds = "0" + seconds.toString();
} else {
displaySeconds = seconds;
}
if (minutes < 10) {
displayMinutes = "0" + minutes.toString();
} else {
displayMinutes = minutes;
}
if (hours < 10) {
displayHours = "0" + hours.toString();
} else {
displayHours = hours;
}
document.getElementById("display").innerHTML = displayHours + ":" + displayMinutes + ":" + displaySeconds;
var time = displayHours + ":" + displayMinutes + ":" + displaySeconds;
chrome.storage.sync.set({'time': time});
}
window.setInterval(stopWatch, 1000);
【问题讨论】:
-
我已经运行了一个后台脚本,它允许 chrome 扩展程序在某些 URL 上工作。即使弹出窗口不存在但在 URL 页面上允许,我也需要秒表继续运行。
标签: javascript html google-chrome-extension google-api popup