Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimanakah saya boleh Mengesan Putaran Peranti dengan Amanah dalam Penyemak Imbas pada Android dengan JavaScript?

Bagaimanakah saya boleh Mengesan Putaran Peranti dengan Amanah dalam Penyemak Imbas pada Android dengan JavaScript?

Patricia Arquette
Patricia Arquetteasal
2024-10-26 11:02:29381semak imbas

How can I Reliably Detect Device Rotation in a Browser on Android with JavaScript?

Kesan Putaran Peranti dalam Pelayar pada Android dengan JavaScript

Cabaran Keserasian dalam Mengesan Putaran

Mengesan putaran peranti menggunakan JavaScript dalam penyemak imbas boleh menjadi lebih mencabar pada telefon Android berbanding iPhone, yang mempunyai pendekatan yang jelas. Tingkah laku merentas peranti Android boleh menjadi tidak konsisten, dengan variasi dalam urutan dan kekerapan peristiwa serta perubahan dalam nilai seperti screen.width dan window.orientation.

Pendekatan Boleh Dipercayai untuk Pengesanan Putaran

Untuk menangani ketidakkonsistenan ini, adalah disyorkan untuk mendengar acara ubah saiz dan perubahan orientasi serta melaksanakan tinjauan pendapat sebagai langkah keselamatan. Pendekatan ini memastikan bahawa anda akhirnya akan menerima nilai orientasi yang sah.

<code class="js">var previousOrientation = window.orientation;
var checkOrientation = function(){
    if(window.orientation !== previousOrientation){
        previousOrientation = window.orientation;
        // Handle orientation change as needed
    }
};

window.addEventListener("resize", checkOrientation, false);
window.addEventListener("orientationchange", checkOrientation, false);

// (Optional) Poll for orientation changes on Android (180 degree turns)
setInterval(checkOrientation, 2000);</code>

Jujukan Peristiwa dan Perubahan Nilai

Jujukan peristiwa dan perubahan dalam nilai berbeza mengikut peranti. Berikut ialah jadual yang meringkaskan hasil daripada pelbagai peranti:

Device Events Fired (to Landscape) orientation innerWidth screen.width
iPad 2 resize, orientationchange 90 1024 768
iPhone 4 resize, orientationchange 90 480 320
Droid phone orientationchange, resize 90 320 569
Samsung Galaxy Tablet orientationchange, orientationchange, orientationchange, resize, orientationchange 90, 90, 90 400 683

Pertimbangan Tambahan

Walaupun pendekatan ini menyediakan cara yang boleh dipercayai untuk mengesan putaran peranti, adalah penting untuk mengekalkan mengingati batasan JavaScript dalam konteks ini. Contohnya, nilai tertentu seperti screen.width mungkin tidak sentiasa berubah seperti yang diharapkan. Anda juga disyorkan untuk mengelak bergantung semata-mata pada screen.width kerana kelakuannya yang tidak konsisten merentas peranti iOS.

Atas ialah kandungan terperinci Bagaimanakah saya boleh Mengesan Putaran Peranti dengan Amanah dalam Penyemak Imbas pada Android dengan 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