我创建了chrome扩展程序。我的代码在Windows / Mac / Chromebook(V8)中运行良好,但是在3分钟后用户试图点击/捕获徽标时,Chromebase无法运行,它没有在首页上重定向。我已将超时设置为3分钟,并且它在所有系统上都能正常工作,而不是Chrombase touch事件。
奇怪的是,它只是第一次工作。
我的代码如下,来自重置超时和DOM元素:
var t;
onload = function() {
var webview = document.querySelector('webview');
window.onload = resetTimer;
// DOM Events
document.onclick = resetTimer;
document.onmousemove = resetTimer;
document.onkeypress = resetTimer;
};
function resetTimer() {
clearTimeout(t);
t = setTimeout(goHome, 180000);
// 1000 milisec = 1 sec
}
function goHome() {
navigateTo('http://MyURL.com/homepage/');
}
function navigateTo(url) {
document.querySelector('webview').src = url;
}
此外,我还在Google上搜索了诸如touchstart,touchmove之类的触摸事件,但似乎也无法正常工作。
有什么问题?请帮助
答案 0 :(得分:0)
请使用Chrome.alarms而不是settimeout。
您的代码应替换为以下代码。
var t;
onload = function() {
var webview = document.querySelector('webview');
window.onload = resetTimer;
// DOM Events
document.onclick = resetTimer;
document.onmousemove = resetTimer;
document.onkeypress = resetTimer;
document.ontouchstart = resetTimer;
document.ontouchmove = resetTimer;
document.ontouchend = resetTimer;
};
function resetTimer() {
chrome.alarms.clear("logoutTimer", function() { });
chrome.alarms.create("logoutTimer", {periodInMinutes:1});
}
chrome.alarms.onAlarm.addListener(function(alarm){
navigateTo('http://dev.innovicloud.com/CHROMEAPP/');
});
function navigateTo(url) {
document.querySelector('webview').src = url;
}