Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimanakah Anda Boleh Mengesan Putaran Telefon Android dengan Amanah dalam Penyemak Imbas Menggunakan JavaScript?

Bagaimanakah Anda Boleh Mengesan Putaran Telefon Android dengan Amanah dalam Penyemak Imbas Menggunakan JavaScript?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-26 08:30:30829semak imbas

How Can You Reliably Detect Android Phone Rotation in Browsers Using JavaScript?

Mengesan Putaran Telefon Android 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn