2014-12-02 23 views
1

我正在用Javascript做一個小遊戲,而且我有點卡住了。這款遊戲基本上就是那些虛擬寵物之一,你必須在那裏餵養寵物並且在寵物身上做東西。現在,我每3秒製作一個飢餓系統,寵物會變得更加餓。事情是,當我關閉筆記本電腦時,Javascript沒有運行。我現在正在做的是獲取最後一次保存的日期,並在打開筆記本電腦時獲取與當前日期的差異。Javascript停止時發現(難以概括)

但是,我無法觸發上述情況。我需要一個事件來識別下次頁面何時恢復。

如果你仍然不明白我想說什麼,這裏是一個例子: 我打開一個頁面,我關閉了我的筆記本電腦。 Javascript已停止。 30分鐘後,我打開了它,現在我知道我離開了多久。什麼事件可以觸發警報?

順便說一句,我曾嘗試使用諸如onload,onpageshow等等的東西,所有這些或者觸發一次,如果根本沒有。

+0

看到這,可能會幫助你... HTTP://stackoverflow.com/questions/121203/how-to-detect-if-javascript-is-disabled – MixedVeg 2014-12-02 06:37:45

+0

考慮頁面可見性API。 – 2014-12-02 06:37:46

+0

而這個:http://stackoverflow.com/q/4079115/1355315 – Abhitalks 2014-12-02 06:37:55

回答

0

建議您經常放置當前日期(如每2秒)。當你加載頁面時,你可以參考這些數據來看看你已經離開了多久。

http://www.w3schools.com/jsref/event_onload.asp

+0

是的,我試過使用onload,但它只觸發一次。我想要它,所以我可以關閉筆記本電腦並打開它並觸發它。 – Hutch 2014-12-02 06:33:54

+0

好,所以你將不得不遵循幾個步驟。第一步保存實際日期,然後啓動一個每3秒執行一次的功能。第二步,在該功能中,您將實際日期與保存的日期進行比較,併爲您的寵物提供差異。如果你這樣做,當你重新打開你的電腦時,差異將會持續3秒,因此你可以餵養你的寵物。 – Florian 2014-12-02 06:54:48

0

你知道有窗口上的焦點事件,不是嗎?

我認爲它會做你想要什麼

window.addEventListener("focus", function(event) { 
    // do your thing 
} 

檢查這個搗鼓一個例子 http://jsfiddle.net/whQFz/

+0

我意識到這一點,但是每當有時候會跳出窗口就會觸發它。它不會工作。 – Hutch 2014-12-02 06:37:03