我正在开发Google Chrome扩展程序,我需要限制扩展程序的使用。最好的方法是什么?

时间:2016-04-17 23:05:40

标签: google-chrome google-chrome-extension

我不想使用某项服务,并且希望让应用程序在本地使用X小时(连续或部分)时弄清楚。在那之后,我想终止功能,只是显示“引用”之类的错误。

1 个答案:

答案 0 :(得分:0)

一个基本思路是计算每个浏览器启动/关闭事件之间的持续时间,同时每次浏览器启动时启动一个计时器,间隔等于MAX_TIME - TIME_USED

但是,根据此处的说明,Event onBrowserClose for Google Chrome Extension?没有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);