iOS8では、このHTML5 Webアプリは、画面がロックされ、Webアプリがアクティブで、ホーム画面アイコンから起動された場合にロックが解除された後、jsタイマーを再開しません。iOS7では、タイマーはこの状況で続行されます。画面のロックが解除された後もタイマーを続行する必要があります-これを達成するためのヒントはありますか?
注/共有ボタンからSafariの「ホーム画面に追加」を使用して、最初にWebアプリをホーム画面に追加してください。Safari内でページを実行しても、上記の問題は発生しません。
<html>
<head>
<meta name="apple-mobile-web-app-capable" content="yes" />
<title>Test</title>
<script>
var tim;
function go() {
tim = window.setInterval(action, 1000);
}
function action() {
document.getElementById('x').innerHTML = new Date().getTime().toString();
}
</script>
</head>
<body onload="go()">
<div id="x"></div>
</body>
</html>
最終的に得られたソリューションは、IOS8のスリープモード後に壊れた機能のすべてに対処するのではなく、ajax requests / setTimeout / setInterval / requestAnimationFrameとそれぞれのクリア関数に対処します。
私のgithubには、他の人が利用できる半抽象バージョンがあります。かなり複雑で大規模で、アニメーションとajaxに大きく依存するアプリケーションで、問題がほとんどないgithubバージョンを使用しています。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加