2017-08-29 68 views

回答

0

您可以通過簡單地調用JS功能

location.reload() 

刷新您的應用程序,或者如果你想要一個更角式的方法,你可以嘗試重新呼叫您的 路線

this.router.navigate(["myRoute"]); 

關於對移動瀏覽器的睡眠你可以檢查出NoSleep.js也許它可以爲你的目的。

+0

角式的方法,謝謝。 – AlexBor

+0

請將答覆標記爲答覆,以便其他人知道他們何時會看到此問題。 –

0

一個簡單的方法來實現這個可以運行一個計時器來檢測瀏覽器是否睡着。

使用RxJS一個時間間隔操作,使用

http://reactivex.io/documentation/operators/timeinterval.html

Rx.Observable.timer(0, 1000).timeInterval().subscribe(timer => { 
    if (timer.interval > (1000 + SLEEP_THRESHOLD)) { 
     console.log ('wake-up from sleep detected'); 
    } 
}); 

其他簡單的方法可能是,

var now = new Date().getTime(); 
setInterval (function() { 
    if ((new Date().getTime() - now) > SLEEP_THRESHOLD) { 
     console.log ('wake-up from sleep detected'); 
    } 
    now = new Date().getTime(); 
}, 1000); 
+0

所以基本上,以可觀察的例子來說,如果SLEEP_THRESHOLD在睡眠5秒後是4000,它會記錄?這是想法還是我錯過了什麼? 這應該在組件初始化上完成? – AlexBor

+0

這個想法是,如果瀏覽器睡着了,定時器將不會運行。當瀏覽器醒來並且定時器運行時,它將看到發生的事件的持續時間上的巨大差異,這應該被認爲是從睡眠中喚醒。 –

+0

謝謝,完美無缺。 – AlexBor

相關問題