web-dev-qa-db-ja.com

ほとんどのモバイルプラットフォームで、JavaScriptは引き続き非アクティブなブラウザタブで実行されますか?

クロスウィンドウメッセージングポンプおよびローカルストレージとWebSocketを共有するJavaScriptシステムを設計した場合、WebSocketが実行されているブラウザタブがAndroid/IOS/Windows Phoneのバックグラウンドにある場合はどうなりますか?

WebSocketは、それが実行されているタブ(前景のタブではない)が非アクティブであっても機能し続けますか?.

3
Ryan Mann

Windows Phoneの場合:バックグラウンドにあるタブにはリソースへのアクセス権が付与されないため、Javascriptは実行されません。

Androidの場合:デフォルトのブラウザーではこれを許可していませんが、さまざまなブラウザーをインストールすることは可能です。そのため、システムにインストールできるすべてのブラウザーにこれが当てはまるとは言えません。 (Operaは実際にJavascriptをバックグラウンドで実行し続けます!)(編集:Chrome on Android 2013年以降、バックグラウンドでオーディオを再生します。私が間違っていない場合、Webアプリが「一時停止」状態になる可能性があり、それがJavaScriptの実行を停止する理由です。Androidライフサイクル、このグラフを確認してください: http://developer.Android.com/images/activity_lifecycle.png

iOS:まあ、フォーカスがなくなったWebアプリからオーディオを再生できるようになります。他のイベントについては-わからないし、今すぐテストできるiOSデバイスがないので、誰か他にこれについて私を訂正したいと思うかもしれません。

(編集:もちろん、これらは時々変わります-Android特に多くの異なるバージョンがあり、私が開発した最後のバージョンは約1年前でした-そしてそれはほぼ3年前のバージョンです。WP私はWPユーザーであるため、かなり自信があります。そしてiOSは他の誰かによって本当に確認されるべきです!)

2
Dylan Meeus