0

ユーザーがブラウザー内で別のタブを開いたときに、html5 キャンバス ゲームを自動的に一時停止したい。ユーザーがこれを行ったときに発生するイベントの名前は?

4

2 に答える 2

2
$(window).blur( function() {

});

またはjsで:

window.onblur = function() {

}

「新しいタブを開いた」イベントはありません。ただし、ぼかしイベントで一時停止すると、必要なことが行われます。ウィンドウがフォーカスを失うたびに、ゲームが一時停止します。その後、フォーカス イベントでゲームを再開できます。

于 2012-12-23T12:49:17.870 に答える
0

別の回答で提案されているぼかしイベントの代わりに、window.hiddenHTML5 の新しいプロパティを使用できます。

これについて読むのに適した場所は次のとおりです。

現在、この仕様を使用する最大の問題は、すべてのブラウザーでそれを処理するためにベンダー プレフィックスに対応する必要があることです。しかし、それを無視すると、実際には次のようになります。

if (!window.hidden) {
  // do whatever you normally do to render a frame
}

visibilitychange検出をゲーム ループから除外したい場合に備えて、対応するイベントがあります。

于 2012-12-23T12:58:10.123 に答える