chrome.idle.onStateChanged不触发函数

时间:2015-03-30 21:07:30

标签: javascript permissions google-chrome-app

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

1 个答案:

答案 0 :(得分:2)

如果有其他人遇到此问题,问题是setDetectionInterval接受的最小值是15.我发现一些代码试图完成我在Safari Online书中所做的事情......

chrome.idle.setDetectionInterval(15);

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

这段代码几乎完全一样,但这个版本有效,而我的没有。控制台打印出一个错误,指出间隔的最小值是15秒,我试图每10次检查一次。所以我每隔15秒检查一次代码检查,一切正常