Google chrome 我正在开发一个Google Chrome扩展,我需要限制扩展的使用。什么';这是最好的办法吗?

Google chrome 我正在开发一个Google Chrome扩展,我需要限制扩展的使用。什么';这是最好的办法吗?,google-chrome,google-chrome-extension,Google Chrome,Google Chrome Extension,我不想使用某项服务,而是想让应用程序在本地计算出它何时已被使用X小时(连续或部分)。在那之后,我想终止功能,只显示一个错误,比如“quote over”或什么的。一个基本的想法是计算每个浏览器启动/关闭事件之间的持续时间,同时每次浏览器启动时启动一个计时器,间隔等于使用的最大时间 但是,根据这里的描述,没有onBrowserClose事件,如果使用background权限,chrome将在用户登录到计算机后立即运行(不可见),并使chrome继续运行,直到用户显式退出chrome。我认为这不是一

我不想使用某项服务,而是想让应用程序在本地计算出它何时已被使用X小时(连续或部分)。在那之后,我想终止功能,只显示一个错误,比如“quote over”或什么的。

一个基本的想法是计算每个浏览器启动/关闭事件之间的持续时间,同时每次浏览器启动时启动一个计时器,间隔等于
使用的最大时间

但是,根据这里的描述,没有
onBrowserClose
事件,如果使用
background
权限,chrome将在用户登录到计算机后立即运行(不可见),并使chrome继续运行,直到用户显式退出chrome。我认为这不是一个好办法

我认为以下可能是一个解决办法,尽管它不是那么完美

您可以启动一个小间隔的计时器(取决于您希望用户使用的小时数,我相信1分钟可能是一个不错的选择)。代码片段看起来像

manifest.json

{
    "manifest_version": 2,
    "name": "36683192",
    "description": "36683192",
    "version": "1.0",
    "background": {
        "scripts": ["background.js"],
        "persistent": false
    },
    "permissions": [
        "storage"
    ]
}
background.js

setInterval(function () {
    chrome.storage.local.get("usageInMinutes", function (result) {
        var usageInMinutes = result.usageInMinutes;
        if (typeof usageInMinutes === "undefined") {
            chrome.storage.local.set({ usageInMinutes: 1 });
        } else {
            usageInMinutes += 1;
            if (usageInMinutes >= MAX_USAGE_IN_MINUTES) {
                // Your usage has expired
            } else {
                chrome.storage.local.set({ usageInMinutes: usageInMinutes });
            }
        }
    });
}, 1000 * 60);

如何定义扩展的用法?只要安装了它?