我正在为 Chrome 构建一个笔记应用程序,我希望该应用程序在用户停止输入时保存其进度,但我无法让 chrome.idle 触发状态更改
chrome.idle.setDetectionInterval(10);
chrome.idle.onStateChanged.addListener(
function (newState) {
var messageElement = document.querySelector("#message");
messageElement.innerHTML = "idle";
if (newState === "idle")
save();
}
);
Chrome 需要访问空闲功能的权限,因此我已将空闲权限包含在 list 中。但是,当我使用扩展工具加载应用程序并查看权限时,它说我没有特殊权限。这是否与空闲状态更改没有触发我的功能有什么关系?
最佳答案
万一其他人遇到这个问题,问题是 setDetectionInterval 可接受的最小值是 15。我发现一些代码正试图完全按照我在 Safari Online 书中所做的事情...
chrome.idle.setDetectionInterval(15);
chrome.idle.onStateChanged.addListener(
function (state) {
if (state === "idle" && dirty)
save();
}
);
这段代码几乎完全相同,但是这个版本可以工作,而我的则不行。控制台打印一条错误,指出间隔的最小值是 15 秒,我试图每 10 秒检查一次。因此,我将代码切换为每 15 秒检查一次,一切正常
关于javascript - chrome.idle.onStateChanged 不触发函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29356308/