ユーザーがブラウザー内で別のタブを開いたときに、html5 キャンバス ゲームを自動的に一時停止したい。ユーザーがこれを行ったときに発生するイベントの名前は?
2 に答える
2
$(window).blur( function() {
});
またはjsで:
window.onblur = function() {
}
「新しいタブを開いた」イベントはありません。ただし、ぼかしイベントで一時停止すると、必要なことが行われます。ウィンドウがフォーカスを失うたびに、ゲームが一時停止します。その後、フォーカス イベントでゲームを再開できます。
于 2012-12-23T12:49:17.870 に答える
0
別の回答で提案されているぼかしイベントの代わりに、window.hidden
HTML5 の新しいプロパティを使用できます。
これについて読むのに適した場所は次のとおりです。
- https://developer.mozilla.org/en-US/docs/DOM/Using_the_Page_Visibility_API
- http://www.html5rocks.com/en/tutorials/pagevisibility/intro/
現在、この仕様を使用する最大の問題は、すべてのブラウザーでそれを処理するためにベンダー プレフィックスに対応する必要があることです。しかし、それを無視すると、実際には次のようになります。
if (!window.hidden) {
// do whatever you normally do to render a frame
}
visibilitychange
検出をゲーム ループから除外したい場合に備えて、対応するイベントがあります。
于 2012-12-23T12:58:10.123 に答える