Javascript停止时发现(难以概括)

问题描述:

我正在用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

建议您经常放置当前日期(如每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

你知道有窗口上的焦点事件,不是吗?

我认为它会做你想要什么

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

检查这个捣鼓一个例子 http://jsfiddle.net/whQFz/

+0

我意识到这一点,但是每当有时候会跳出窗口就会触发它。它不会工作。 – Hutch 2014-12-02 06:37:03