SafariでiPadのバージョンを識別する方法

先日、タスクが発生しました。ブラウザでiPad1とiPad2を区別する必要がありました。 iPad3はwindow.devicePixelRatioを使用して区別できますが、最初の2つの問題があります。 ウィンドウオブジェクト全体の詳細な調査では、結果は得られませんでした。 WebGLを使用してビデオカードでそれらを区別しようとするアイデアがありましたが、WebGLはブロックされます。



パーセントをロードしようとすることが決定されました。 次のコードは非常に面白い結果をもたらしました。



var rad = 37.5 * (Math.PI / 180), width = 11.32424654356, z, cache, time = new Date().getTime(); for (z = 150000; z-- ;){ cache = width * z * Math.sin(rad) + width * z * Math.cos(rad); } console.log(new Date().getTime() - time);
      
      





iPad1では、結果は安定しており、約113〜118ミリ秒であり、ワークロードが重い場合はそれ以上になります。

iPad2では、結果は安定しています。約60ミリ秒であり、ワークロードが重い場合はそれ以上になります。

バージョンを決定する上で100ミリ秒を障壁と見なし、アプリケーションが初めてロードされるときにこのテストを実行し、結果をlocalStorageに書き込むことを提案します。



PS:もちろん、コードをコームする必要がありますが、ここではメッセージが重要です。



updCrystall は素晴らしいソリューションを提供しました 。 よろしくお願いします!



All Articles