【发布时间】:2020-06-21 01:32:11
【问题描述】:
我有一个名为 checkInactivity 的函数,我想在可变时间间隔内执行此函数。我正在获取时间间隔 getInactiveTimePeriod 并以可变 timeInMilliseconds 进行处理。这个变量(timeInMilliseconds)在每次从数据库中选择一个值时都保存不同的时间。我想用这个可变的时间间隔运行函数 checkInactivity,即取决于 timeInMilliseconds 的值。 请帮我解决这个问题。提前谢谢你。
window.setInterval(function() {
setInactiveMode();
setInactiveTimePeriod();
getInactiveTimePeriod();
} , 100000);
var applicationsopend = [];
var applicationTabId = {};
var timeInseconds;
function getInactiveTimePeriod() {
chrome.storage.local.get("user_inactive_time", function (obj) {
timeInMinuts = obj.user_inactive_time;
timeInMilliseconds = timeInMinuts *(60000);
setTimeout(() => {
checkInactivity();
}, timeInMilliseconds);
});
}
// getInactiveTimePeriod();
function checkInactivity() {
chrome.storage.local.get("user_inactive_mode", function (obj) {
inactiveStatusMode = obj.user_inactive_mode;
if(inactiveStatusMode == 'true') {
var timeInseconds = timeInMilliseconds / 1000;
chrome.idle.queryState(timeInseconds, function (state) {
if (state === "active") {
chrome.storage.local.get( "appList", function (obj) {
appList = obj.appList.split(",");
var queryInfo = {
// active: false,
currentWindow: false
};
chrome.tabs.query(queryInfo, function (tabs) {
for (var i = 0; i < tabs.length; i++) {
var taburl = tabs[i]['url'];
currentApp = findApp(taburl);
currentHashUrl = CryptoJS.SHA1(currentApp).toString(CryptoJS.enc.Hex);
if($.inArray(currentHashUrl, appList) != -1 && currentApp != 'onionid' ) {
var tabid = tabs[i]['id'];
currentApp = findApp(taburl);
applicationTabId[currentApp] = tabid;
}
}
//console.log(applicationTabId);
getapplicationlogouturl(applicationTabId);
});
});
}
});
}
});
}
【问题讨论】:
标签: javascript timeout setinterval