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