Cara menentukan versi jquery. Mendeteksi versi peramban - PHP atau javascript

Saya sudah menulis artikel tentang hal itu, tetapi hari ini saya mengalami masalah lain - bagaimana menentukan versi tertentu Internet Explorer. Seperti yang diketahui semua orang, peramban ini terus menghadirkan kejutan bagi kami, dan setiap versi praktis praktis menghidupinya sendiri. Ada beberapa situasi sehingga kode berfungsi dengan baik di versi ke-9, tetapi tidak berfungsi di versi ke-8, dan sebaliknya. Dan saat-saat seperti itu ditemui ketika bekerja dengan setiap versi. Oleh karena itu, cepat atau lambat Anda harus menghadapi masalah dalam menentukan versi IE tertentu.

Ternyata untuk menentukan versi IE tidaklah sulit. Saat menentukan versi, Anda dapat menggunakan fitur menarik Internet Explorer - setiap versi dari "browser" ini memiliki objek global yang unik. Misalnya, di IE9 ada objek global document.addEventListener, dan objek semacam itu hanya digunakan dalam versi yang lebih lama dari IE9 (inklusif). Atau objek document.querySelector - itu hanya muncul dalam versi IE8 dan digunakan dalam versi yang lebih baru. Ada objek seperti itu di setiap versi, bergantung pada mereka (memeriksa keberadaannya), Anda dapat dengan mudah membuat kondisi untuk versi tertentu dari Internet Explorer.
Objek apa yang ada dalam versi berbeda yang akan saya berikan di bawah:
IE10 + - window.atob
IE9 + - document.addEventListener
IE8 + - document.querySelector
IE7 + - window.XMLHttpRequest
IE6 + - document.compatMode
Objek document.all global lain ada di semua versi IE, tetapi tidak digunakan di browser lain, berdasarkan itu Anda dapat membedakan IE dari browser lain.

Selain bantuan ini, formulir kontak umum, sidik jari, dan tinjauan umum umum dari semua halaman penawaran web adalah milik ini. Kotak pencarian untuk pencarian mudah kata kunci selalu terletak di bagian atas halaman dekat logo kota. Di sini Anda dapat memasukkan satu atau lebih kata pencarian. Pencarian dimulai dengan menekan tombol kaca pembesar hitam atau menekan tombol enter.

Selain pencarian kata kunci sederhana, Anda dapat menggunakan pencarian lanjutan. Di sini, di antara hal-hal lain, Anda dapat mengecualikan kata-kata dan menentukan jumlah klik per halaman. Gunakan opsi pencarian berikut untuk mendapatkan hasil yang lebih baik.

Cara menentukan versi Internet Explorer di javascript. Kode

Sekarang kita memiliki semua komponen yang diperlukan: objek yang ada di semua versi IE dan hanya di dalamnya - ini akan membedakannya dari browser lain. Dan kami juga memiliki objek yang akan membantu membedakan versi spesifik IE. Di bawah ini adalah beberapa contoh yang akan menunjukkan bagaimana menggunakan objek global IE dalam praktiknya.

Hanya kata dengan 2 karakter atau lebih yang menerima maksimum 200 karakter untuk setiap permintaan. Karakter pribadi digunakan untuk memisahkan kata-kata. dapat digunakan untuk mencari seluruh baris karakter. Untuk pengguna yang menggunakan firmware di layar ada tanda lompat di bagian atas halaman yang menunjuk langsung ke bantuan atau konten ini. Mereka tidak terlihat oleh pengguna browser grafis modern.

Gunakan tombol tab untuk melompat dari tautan ke tautan. Petunjuk tersembunyi ditampilkan di atas navigasi layanan segera setelah Anda menggunakan tombol tab. Pencetakan dilakukan menggunakan opsi tampilan yang dioptimalkan. Hanya konten yang dicetak. Untuk menu ini, header dan footer, serta celah tepi, digelapkan. Anda hanya perlu menekan fungsi cetak browser Anda atau simbol cetak di akhir halaman.

If (document.all) (// kode untuk semua versi IE. Tidak akan dieksekusi di browser lain) if (document.all &&! Window.atob) (// kode untuk IE9 dan di bawah) if (document.all &&! Document .addEventListener) (// kode untuk IE8 dan di bawah) if (document.all &&! document.querySelector) (// kode untuk IE7 dan di bawah) if (document.all &&! window.XMLHttpRequest) (// kode untuk IE6 dan di bawah) if (document.all && window.atob) (// kode untuk IE10 dan di atas) if (document.all && document.addEventListener) (// kode untuk IE9 dan di atas) if (document.all && document.querySelector) (// kode untuk IE8 dan lebih tinggi) if (document.all && window.XMLHttpRequest) (// kode untuk IE7 dan lebih tinggi) if (document.all && document.querySelector &&! document.addEventListener) (// kode untuk IE8 saja) )

Dalam sepuluh langkah, peningkatan pembesaran sepuluh kali lipat dicapai dengan menekan, penurunan tingkat zoom yang sesuai sebesar 10 persen dengan menekan. Untuk melakukan ini, pilih item menu "Lihat" di bilah menu browser dan tentukan ukuran font dalam persen. Anda juga dapat menentukan sendiri tingkat perbesaran. . Alat tambahan untuk browser yang disebutkan di atas, seperti kaca pembesar atau firmware, dapat ditemukan dalam indeks sumber daya kompas.

Ini mungkin, misalnya, kantor perencanaan atau konsultan. Kami akan mencoba memberikan konten yang berbeda kepada Anda. Kami menggunakan navigasi bantuan ini untuk area berita, tempat Anda dapat menampilkan halaman informasi dalam navigasi.

Baik jika situs Anda berfungsi di semua, atau hampir semua browser, seperti yang Anda inginkan. Semuanya berubah, versi baru keluar, peluang baru muncul, dan konyol untuk tidak menggunakannya, demi "orang tua". Sekitar 1,5 tahun yang lalu, IE 6.0 (dilihat dari statistik kunjungan ke salah satu situs saya) ada di setiap komputer ketiga yang menggunakan IE. Saya harus memperhitungkannya, karena IE mendominasi komputer - lebih dari 40% pengunjung menggunakan IE. Saya mengasosiasikan distribusi IE 6.0 semacam itu (meskipun faktanya versi ke-8 telah dirilis), terutama dengan penyebaran luas bajakan lama versi Windows XP di Rusia yang tidak terhubung ke server pembaruan.

Ini memungkinkan Anda untuk berpindah-pindah dari dokumen ke halaman awal. Kembali ke tampilan normal dengan menekan tombol. Dimulai dengan versi 3, ini juga diperbolehkan untuk gambar atau gambar. Namun, Anda juga dapat menonaktifkan fitur ini dan hanya menambah ukuran teks. Halaman kompas penghalang telah dirancang sesuai dengan standar Internet saat ini.

Bantuan ini dirancang untuk membantu Anda mengetahui cara memanfaatkan situs web yang terjangkau ini sebaik-baiknya dan memanfaatkan manfaat aksesibilitas yang ditingkatkan. Situs web kami telah dirancang khusus agar dapat diakses sebanyak mungkin. lebih Pengguna internet. Singkatnya, mereka bebas hambatan.

Sekarang mereka aktif menginstal dan banyak lagi versi segar XP (juga bajakan hampir di mana-mana), yang sudah dilengkapi dengan versi 7 IE, dan Windows 7, yang dilengkapi dengan MSIE 8.0. Selain itu, IE harus membuat ruang, dan Opera datang pertama (29,8% dari pengunjung), dan IE, setelah kehilangan lebih dari 10%, mengambil tempat 2, mendapatkan 28,8% dari total pengunjung. Pada saat yang sama, pangsa IE 6.0 dalam total volume pengguna IE menurun dari 34% menjadi 15%. Menutup tiga teratas - FireFox.

Anda dapat menggunakan keyboard untuk mengubah nilai perbesaran dalam beberapa langkah, setiap langkah sesuai dengan lompatan 10%. Untuk melakukan ini, pilih item "Lihat" di bilah menu dan tentukan faktor penskalaan. Jadikan situs Anda luar biasa di mana saja.

Ketika kami mulai mengembangkan situs web, kami benar-benar ingin tahu bahwa itu terlihat hebat di peramban apa pun? dan, jika mungkin, terlihat bagus untuk waktu yang lama, bahkan di versi browser yang akan datang. Di masa lalu, sebagian besar browser telah menerapkan fitur yang sangat populer yang belum memenuhi standar apa pun.

Dengan demikian, setiap pengguna ke-20 (sekitar 5%) sekarang menggunakan IE 6.0. Mereka masih harus diperhitungkan.

Pengantar yang panjang ini dimaksudkan untuk menunjukkan bahwa pertanyaan apakah akan mendukung beberapa versi browser atau tidak adalah yang serius, memerlukan studi berkala untuk memahami apa situasi saat ini. Ini akan berbeda untuk daerah yang berbeda, bahkan mungkin tergantung pada subjek situs. Cepat atau lambat, muncul ide untuk memberi tahu pengguna bahwa mereka mengatakan sudah ada browser baru (saatnya untuk mulai menggunakannya, teman saya!).

Tentu saja, kita dapat berpikir bahwa sangat baik bahwa beberapa browser "maju" untuk mendukung fitur baru di depan orang lain. Tetapi ketika fungsi-fungsi ini belum standar, apa yang mereka lakukan menyebabkan masalah bagi pengembang, karena kita harus memperhitungkan semua implementasi berbeda yang dibuat dari masing-masing fungsi.

Di satu sisi, pengembang merasa sangat fenomenal untuk menguji fitur-fitur baru ini. Tetapi adopsi prematur sering menyebabkan situs web untuk menggunakan fitur yang secara serius mempengaruhi halaman setiap kali versi browser berubah. Ini adalah pengalaman yang luar biasa bagi pengguna dan pengembang. Dalam kolaborasi ini, dia berniat. Karena semua masalah dan keterbatasan deteksi browser, kita sekarang akan melihat alternatif lain.

Anda dapat menentukan versi program browser, keluarganya dan mengambil beberapa tindakan, baik di sisi server maupun di sisi klien. Misalnya, sepotong kode javascript yang memungkinkan Anda menentukan apa pengguna menggunakan versi IE lebih rendah dari 7.0

... // setelah memuat dokumen, versi browser akan diperiksa // dan beberapa tindakan akan diambil ...

Sebelum menggunakan fungsionalitas yang, seperti yang Anda ketahui, diimplementasikan secara berbeda di beberapa browser, Anda dapat menjalankan tes kecil untuk mencari tahu tentang ketersediaan dalam setiap kasus objek, metode, properti atau perilaku tertentu.

Dalam kebanyakan kasus, ini dapat dilakukan dengan mencoba membuat instance baru dari fungsionalitas yang dimaksud. Jika instance ini mengembalikan nilai bukan nol, browser yang menjalankannya memahami fungsi ini. Jika tidak, Anda dapat mencoba mencari tahu apakah ada opsi lain, atau Anda dapat menggunakan beberapa implementasi lama yang setara dengan fungsi yang tidak kompatibel.

. . .

< / head >

// setelah memuat dokumen, versi browser akan diperiksa

Konfigurasi browser yang dikenal

Perbandingan penemuan dan fungsi browser. Bagan ini dapat membantu memperjelas perbedaan antara dua alternatif dalam situasi yang berbeda. Itu semua opsi yang memungkinkan kode yang akan dikenakan biaya untuk situs pengujian kami. Saat kami melihat konfigurasi peramban yang dikenal, kedua metode ini bekerja dengan baik.

Pengaturan browser tidak dikenal

Situasi menjadi sangat menarik ketika kita harus berurusan dengan konfigurasi peramban yang tidak dikenal. Namun, dalam contoh ini, halaman tidak akan terlihat bagus jika kita menggunakan deteksi browser, karena tidak ada alternatif yang menautkan semua segmen kode yang valid, bahkan jika halaman berisi semua kode yang perlu Anda lihat dengan benar dalam konfigurasi browser yang tidak dikenal ini.

// dan beberapa tindakan diambil

< body onload = "check_version();" >

. . .

Dalam php Anda dapat merujuk ke tajuk yang dikirimkan oleh browser, menggunakan fungsi getallheaders (), itu akan mengembalikan array asosiatif di mana elemen akan berisi informasi tentang browser.

Jadi kami menemukan setidaknya ada 2 cara. Saya menganjurkan agar semua pekerjaan yang tidak terkait keamanan, yang cukup mudah diimplementasikan di sisi klien, dilakukan pada mesin klien. Saat ini, sering terjadi bahwa sumber daya mesin klien secara signifikan melebihi kemampuan server web khusus virtual. Jadi biarkan mereka bekerja sejauh mungkin :).

Contoh Definisi Fungsi

Pertama, selalu periksa standar, karena sering kali browser mendukung standar terbaru dan beberapa alternatif dari kode sebelumnya. Kedua, dalam setiap tes hanya fungsi yang sesuai diperiksa, yang dicari, selalu berusaha untuk mengambil angka terkecil kegunaankompatibel dengan setiap browser untuk menghindari kejutan.

Mari kita lihat beberapa contoh deteksi fitur. Script berikut membuka dua alternatif. Taktik bagus lainnya adalah merangkum deteksi fungsi dalam serangkaian fungsi yang kemudian dapat digunakan di seluruh kode. Ini hanya mengembalikan benar atau salah, yang membuatnya mudah untuk menggunakan kembali subrutin.

Di sisi lain, javascripts mungkin tidak berfungsi untuk klien sama sekali, dan kemudian memeriksa server adalah satu-satunya cara. Fenomena ini sangat jarang, walaupun saya tidak memiliki statistik yang akurat.

Ada juga jebakan. Memang, jika Anda tidak memasukkan preferensi pribadi saya ke akun, maka melakukan pemeriksaan sisi server akan menjadi pendekatan yang secara fundamental lebih benar. Jika hanya karena menentukan versi browser pada beberapa klien lama tidak akan mungkin seperti yang saya tunjukkan dalam contoh. Dan skripnya akan lebih kompleks. Salah satu perangkap mungkin berubah menjadi sistem halaman situs caching (seperti, misalnya dengan drupal). Setelah menentukan pada sisi server apakah klien cocok atau, sebaliknya, tidak cocok untuk menampilkan situs, halaman dengan hasil ini akan ditampilkan kepada semua klien anonim lainnya hingga cache kedaluwarsa. Dalam kasus seperti itu, javasctipt sudah menjadi satu-satunya pilihan yang sesuai.

Saat menggunakan deteksi fungsi, selalu gunakan pada elemen atau objek yang baru dibuat. Dalam hal ini, Anda dapat mengontrol kasus ketika skrip lain di halaman yang sama dapat mengubah situasi dari saat pembuatannya, yang akan mengarah pada perilaku yang tidak dapat diprediksi dan tidak dapat diprediksi.

Browser menampilkan subtitle pertama yang didukung oleh elemen atas dan menyembunyikan elemen di bawah ini secara visual. Dalam bentuknya yang paling sederhana, prosedurnya akan terlihat seperti ini. Tapi cadangan juga berfungsi untuk berbagai format video pada label yang sama. Browser Anda tidak mendukung video secara asli.

Menghadapi perilaku plugin fancybox ini. Saat Anda membuka jendela modal, jendela utama akan bergulir ke bagian paling atas. Bagaimana cara menghadapinya? Ini tidak selalu terjadi, tetapi dalam beberapa kasus tata letak. Tata letak sudah bermasalah untuk diubah ...