javascript - chrome.idle.onStateChanged 不触发函数

标签 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 需要访问空闲功能的权限,因此我已将空闲权限包含在 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/

相关文章:

google-chrome - 替换 Chrome 打包应用中的 fileEntry.toURL()

javascript - 在 ReactJs 中渲染对象数组

php -/var/www 中的符号链接(symbolic link)权限被拒绝

ruby-on-rails - 在 Web 服务器上执行用户提供的 ruby​​ 代码

azure - Get-AzADAppPermission Id 转换器

google-chrome-extension - 全屏时,键盘键在 chrome.app 中不起作用

php - 如何使用php将照片上传到数据库和文件夹中

javascript - 使用 JavaScript 将图像上传到 Canvas?

javascript - 时间差异给出无效日期

javascript - 有没有办法让 chrome 打包的应用程序处理 Http BasicAuthentication