Rumah >hujung hadapan web >tutorial js >Bagaimanakah Anda Boleh Mengesan Putaran Telefon Android dengan Amanah dalam Penyemak Imbas Menggunakan JavaScript?
Semasa mengesan orientasi skrin dan perubahan dalam Safari pada iPhone menggunakan JavaScript adalah mungkin, adakah ia juga boleh dilaksanakan pada telefon Android?
Pengesanan Putaran Responsif pada Android
Dalam telefon Android, pengesanan putaran menggunakan JavaScript adalah perkara yang rumit disebabkan oleh kelakuan yang berbeza-beza merentas peranti dan penyemak imbas. Bergantung sepenuhnya pada peristiwa ubah saiz atau perubahan orientasi adalah tidak boleh dipercayai.
Pendekatan Boleh Dipercayai
Pendekatan yang disyorkan melibatkan pemantauan kedua-dua peristiwa ubah saiz dan perubahan orientasi, secara konsisten menyemak kemas kini orientasi melalui selang pengundian .
<code class="javascript">var previousOrientation = window.orientation; var checkOrientation = function(){ if(window.orientation !== previousOrientation){ previousOrientation = window.orientation; // orientation changed, do your magic here } }; window.addEventListener("resize", checkOrientation, false); window.addEventListener("orientationchange", checkOrientation, false); // (optional) Android doesn't always fire orientationChange on 180 degree turns setInterval(checkOrientation, 2000);</code>
Gelagat Khusus Peranti
Respons peranti terhadap perubahan orientasi berbeza dengan ketara. Berikut ialah jadual penjujukan peristiwa dan nilai yang diperoleh daripada menguji empat peranti berbeza:
Device | Events Fired | orientation | innerWidth | screen.width |
---|---|---|---|---|
iPad 2 (to landscape) | resize, orientationchange | 0 | 1024 | 768 |
iPad 2 (to portrait) | resize, orientationchange | 90 | 768 | 768 |
iPhone 4 (to landscape) | resize, orientationchange | 0 | 480 | 320 |
iPhone 4 (to portrait) | resize, orientationchange | 90 | 320 | 320 |
Droid phone (to landscape) | orientationchange, resize | 90 | 320 | 320 |
Droid phone (to portrait) | resize, orientationchange, resize | 0 | 569 | 569 |
Samsung Galaxy Tablet (to landscape) | orientationchange, orientationchange, resize | 0 | 400 | 400 |
Samsung Galaxy Tablet (to portrait) | orientationchange, orientationchange, orientationchange, resize | 90 | 683 | 683 |
Kesimpulan
Walaupun pengendalian acara untuk perubahan orientasi mungkin berbeza antara peranti iOS dan Android, menggunakan pendekatan yang disyorkan memastikan pengesanan orientasi yang boleh dipercayai pada telefon Android menggunakan JavaScript.
Atas ialah kandungan terperinci Bagaimanakah Anda Boleh Mengesan Putaran Telefon Android dengan Amanah dalam Penyemak Imbas Menggunakan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!