如何检测我的表盘何时出现在前台?

How do I detect when my watchface comes to the foreground?

当我的表盘(基于 Web)进入后台时,用于保持时间更新的计时器暂停。 当你回来时,这会导致滞后效应。让用户看到过时的时间几秒钟。

我的理想解决方案,为了不搞砸更多的事情,也不必将一堆动画调整为 0.1 秒计时器或以下内容:

当然,要使它起作用,第一步当然是检测我的表盘何时回到前台,但我完全一无所知,而且我还没有真正发现太多。再说我的网络真的很差,在我的手表上测试是个问题,所以我只需要知道已经证明了什么。

如何检测我的表盘何时回到前台?

提前致谢

你可以试试这个方法。

 var timer=0;
 var visible_time=0;
 var timer1 = 0;
 var PERIOD_VISIBLE = 1000;
 var PERIOD_NOT_VISIBLE = 2000;
 var hidden, visibilityChange; 
 
window.onload = function() {
   
    document.addEventListener('tizenhwkey', function(e) {
        if (e.keyName === "back") {
            try {
                tizen.application.getCurrentApplication().exit();
            } catch (ignore) {}
        }
    });

    var mainPage = document.querySelector('#main');
   
    // Sample code
    console.log("Foreground");
 if (typeof document.hidden !== "undefined") {
  hidden = "hidden";
  visibilityChange = "visibilitychange";
 } else if (typeof document.webkitHidden !== "undefined") {
  hidden = "webkitHidden";
  visibilityChange = "webkitvisibilitychange";
 }

 function handleVisibilityChange(){
  if (document[hidden]){
   console.log("Background");
   console.log("Page was visible for : "+visible_time+" seconds");
   visible_time = 0;
   timer = new Date().getTime();
  } else {
   console.log("Foreground");
   console.log('You were away for ' + (new Date().getTime()-timer)/1000+ ' seconds.');
  }

 }
 document.addEventListener(visibilityChange, handleVisibilityChange, false);

 timer1 = setInterval(checkVisibility, (document.hidden) ? PERIOD_NOT_VISIBLE : PERIOD_VISIBLE);
 document.addEventListener("webkitvisibilitychange", visibilityChanged, false);
 function visibilityChanged() {
  clearInterval(timer1);
  timer1 = setInterval(checkVisibility, (document.hidden) ? PERIOD_NOT_VISIBLE : PERIOD_VISIBLE);
 }

 function checkVisibility() {
  /*$('#timer').empty();*/
  visible_time++;
  /*$('#timer').append("<center>Page is visible for : "+visible_time+" seconds</center>");*/
 }
    mainPage.addEventListener("click", function() {
        var contentText = document.querySelector('#content-text');
        contentText.innerHTML = (contentText.innerHTML === "Basic") ? "Tizen" : "Basic";
        
    });
};

谢谢。