Bolehkah JavaScript Mengesan Putaran Telefon Android dalam Penyemak Imbas?

Susan Sarandon
Lepaskan: 2024-10-26 08:42:02
asal
491 orang telah melayarinya

 Can JavaScript Detect Android Phone Rotation in Browsers?

Pengesanan Berasaskan Javascript bagi Putaran Telefon Android dalam Penyemak Imbas

Dalam penyemak imbas Safari yang dibangunkan Apple, pemantauan perubahan dalam orientasi skrin adalah mungkin melalui pemerhatian acara orientationChange dan penilaian tetingkap .orientasi. Walau bagaimanapun, bolehkah kefungsian tersebut dilaksanakan dalam penyemak imbas yang dijalankan pada peranti Android?

Tindak balas terhadap perkara ini adalah nuansa. Pelaksanaan Javascript pada halaman web standard sememangnya boleh mengesan putaran skrin dalam peranti Android. Walau bagaimanapun, tingkah laku berbeza-beza merentas peranti dan penyemak imbas.

Cabaran dan Pendekatan Disyorkan

Cabaran utama terletak pada gelagat penembakan acara yang tidak konsisten merentas peranti Android. Peristiwa ubah saiz dan orientationChange mungkin menyala secara tidak segerak dengan frekuensi yang berbeza-beza. Untuk menambah kerumitan ini, nilai seperti screen.width dan window.orientation mungkin tidak selalu memberikan hasil yang boleh diramal. Oleh itu, bergantung semata-mata pada screen.width tidak disyorkan kerana ia kekal tidak diubah semasa putaran iOS.

Pendekatan yang paling boleh dipercayai melibatkan mendengar serentak untuk acara ubah saiz dan orientasi. Menambahkan ini dengan tinjauan berkala menggunakan fungsi setInterval meningkatkan kebolehpercayaan, memastikan nilai orientasi yang sah.

<code class="javascript">var previousOrientation = window.orientation;
var checkOrientation = function(){
    if(window.orientation !== previousOrientation){
        previousOrientation = window.orientation;
        // Perform operations in response to orientation change
    }
};

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

// Android occasionally fails to trigger events for 180-degree rotations
setInterval(checkOrientation, 2000);</code>
Salin selepas log masuk

Hasil Khusus Peranti

Berikut ialah ringkasan gelagat yang diperhatikan merentas pelbagai peranti yang diuji:

Device Event Sequence orientation innerWidth screen.width
iPad 2 (Landscape) resize, orientationchange 90 1024 768
iPad 2 (Portrait) resize, orientationchange 0 768 768
iPhone 4 (Landscape) resize, orientationchange 90 480 320
iPhone 4 (Portrait) resize, orientationchange 0 320 320
Droid Phone (Landscape) orientationchange, resize 90 320 320
Droid Phone (Portrait) orientationchange, resize 0 569 569
Samsung Galaxy Tablet (Landscape) orientationchange, orientationchange, orientationchange, resize, orientationchange 90 400 400
Samsung Galaxy Tablet (Portrait) orientationchange, orientationchange, orientationchange, resize, orientationchange 0 683 683

Atas ialah kandungan terperinci Bolehkah JavaScript Mengesan Putaran Telefon Android dalam Penyemak Imbas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!