chrome.idle.onStateChanged 没有触发功能

chrome.idle.onStateChanged not triggering function

我正在为 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 需要访问空闲功能的权限,因此我在清单中包含了空闲权限。但是,当我使用扩展工具加载应用程序并查看权限时,它说我没有特殊权限。这与空闲状态更改未触发我的功能的原因有什么关系吗?

万一其他人遇到这个问题,问题是 setDetectionInterval 将接受的最小值是 15。我发现一些代码正试图完全按照我在 Safari Online 书中所做的事情...

chrome.idle.setDetectionInterval(15);

chrome.idle.onStateChanged.addListener(
    function (state) {
        if (state === "idle" && dirty)
            save();
    }
);

此代码几乎完全相同,但此版本有效而​​我的无效。控制台打印出一个错误,指出间隔的最小值是 15 秒,我试图每 10 秒检查一次。所以我将代码切换为每 15 秒检查一次,一切正常