JavaScript adalah bahasa utama pengembangan front-end. Umumnya ada dua cara untuk menilai jenis browser dalam JavaScript. Artikel ini menganalisis karakteristik masing -masing pengguna browser dan memberikan metode penilaian:
Seri Browser Sistem Operasi Windows:
IE Browser Series:
Karakteristik: Semua dimulai dengan "Mozilla/", dan X dalam "MSIE X.0;" mewakili versinya;
Metode penilaian: Anda hanya dapat mencari "MSIE X.0;" untuk penilaian kasar.
Firefox untuk Windows:
Fitur: Mulailah dengan "Mozilla/X.0", termasuk "Windows NT", "Gecko/" dan "Firefox/";
Metode penilaian: Untuk penilaian yang kasar, Anda hanya dapat mengambil string "firefox/" dan "windows nt". firefox/";
Chrome untuk Windows:
Fitur: Mulailah dengan "Mozilla/X.0", termasuk "Windows NT", "Chrome/", dan juga termasuk "AppleWebkit/", "Safari/";
Metode penilaian: secara kasar menilai, Anda hanya dapat mencari "windows nt" dan "chrome/" string, dan benar -benar menilai, Anda dapat mencari "mozilla/", "windows nt", "applewebkit/", "safari/", "chrome /"5 string;
Opera untuk Windows:
Karakteristik: Mulailah dengan "opera/" dan berisi "Windows NT", "Presto/" string;
Metode penilaian: Secara kasar menilai hanya mencari "Windows NT" dan "Opera/" string, dan benar -benar menilai mencari "Opera/", "Windows NT" dan "Presto/" pada saat yang sama;
Safari untuk Windows:
Karakteristik: Mulailah dengan "Mozilla/" dan berisi "Windows NT", "AppleWebkit/", "Safari/";
Metode penilaian: secara kasar menilai, Anda dapat mencari "Windows NT", "Safari/" dan bukan "Chrome/". /"Tapi" chrome/"tidak termasuk;
Ringkasan: Browser UserAgent pada sistem operasi Windows berisi string "Windows NT" untuk mewakili sistem operasi Windows.
Seri browser platform iPhone:
iPhone dilengkapi dengan safari:
Karakteristik: Dimulai dengan "Mozilla/", berisi string "iPhone", dan juga berisi string "Mobile/", "Safari/";
Metode penilaian: Secara kasar menilai hanya mencari "iPhone" dan "safari/" string.
Opera Mobile untuk iPhone:
Karakteristik: Dimulai dengan "opera/", berisi string "iPhone", dan juga berisi string "opera mini/", "presto/";
Metode penilaian: Secara kasar hanya mencari "iPhone" dan "opera/" string.
Ringkasan: Browser UserAgent di ponsel iPhone berisi string "iPhone"
Seri Browser Platform Android:
Android dilengkapi dengan browser (beberapa orang mengatakan itu hanya chrome, tetapi Google tidak membuat pernyataan apa pun dan sedang mengembangkan krom ke telepon yang berjalan di Android):
Karakteristik: Dimulai dengan "Mozilla/", berisi string "Android" dan "Linux", dan juga berisi "AppleWebKit/", "Mobile Safari/" string;
Metode penilaian: Karena saya tidak tahu apakah akan ada safari independen di Android di masa depan (saya kira itu tidak akan), disarankan untuk membuat penilaian ketat secara langsung dan mencari "mozilla/", "android", " Linux "," AppleWebkit/"," Safari Seluler/"Lima String
Opera Mobile untuk Android:
Karakteristik: Dimulai dengan string "opera/", berisi "android" dan "linux", dan juga berisi "opera mobi/", "presto/" string;
Metode penilaian: Secara kasar menilai hanya pencarian "android" dan "opera/", dan hakim yang ketat harus memasukkan kedua "opera/", "android", "linux", "opera mobi/", "presto/" lima string
Firefox untuk Android:
Karakteristik: Dimulai dengan string "mozilla/", mengandung "android" dan "linux", dan juga berisi "firefox/", "tokek/", "fennec/" string;
Metode penilaian: Secara kasar menilai hanya pencarian "Android" dan "firefox/", dan hakim yang ketat harus memasukkan kedua "mozilla/", "android", "linux", "firefox/", "tokek/", "fennec/" enam String
Ringkasan: Browser UserAgent pada platform Android berisi string "Android" dan "Linux"
Analisis di atas browser utama dari tiga platform utama Windows, iPhone dan Android pada dasarnya telah berakhir. Mirip dengan platform iPhone, jadi untuk saat ini saya tidak akan melakukan analisis untuk saat ini, karena saya tidak memiliki begitu banyak perangkat dan sistem operasi untuk diuji, saya harap saya dapat menebusnya di masa depan.
Persyaratan pengembangan produk situs web saat ini berbeda dari sebelumnya, karena tidak hanya perlu memenuhi penelusuran komputer, tetapi juga perlu memenuhi ponsel pintar pengguna (di sini kami hanya merujuk ke smartphone nyata seperti iPhone, Android, Windows Phone, dan Niches seperti BlackBerry dan Palm, sistem semi-cerdas tidak dipertimbangkan untuk saat ini. menilai peralatan pengguna berdasarkan browser userAgent.
1. Jika Anda perlu menilai sistem operasi, metode ini relatif sederhana.
Berisi "Windows NT": jelas bahwa nomor versi setelah NT dapat menentukan versi OS;
Sistem yang mengandung "Mac": Apple Mac OS X atau kernel Mac OS lainnya;
Berisi "iPhone": Eksklusif untuk ponsel Apple iPhone, dan juga harus berisi "Mac" secara umum;
Berisi "iPad": Apple iPad Tablet (informasi menunjukkan bahwa iPad Browser UserAgent juga berisi "Mac", "iPhone", "iPad");
Berisi "Linux": Sistem Operasi Linux atau sistem operasi lainnya dengan Linux sebagai kernel;
Berisi "Android": Sistem operasi Android Google mungkin merupakan smartphone atau versi tablet Android secara umum, UserAgent pada platform Android juga harus mencakup "Linux";
Ini berisi salah satu dari tiga: sistem UNIX, tetapi pada kenyataannya, masalah pengalaman pengguna sistem ini hampir tidak perlu dipertimbangkan;
Linux yang mengandung "Ubuntu": Versi khusus Ubuntu
...
Anda juga telah melihat bahwa menilai sistem operasi dan versinya tidak selalu berguna, tetapi selalu ada tempat yang dapat digunakan, seperti pengembangan halaman yang secara khusus menargetkan resolusi layar perangkat seperti iPhone, iPad, dan Android, dll.
2. Tidak sulit untuk menilai kernel browser.
IE (Trident) Kernel (IE untuk Mac, IES4Linux, dll., Hanya pertimbangkan Windows): Mulailah dengan "Mozilla/" dan berisi string "Windows NT" dan "MSIE";
Kernel Firefox (Gecko): Mulailah dengan "Mozilla/", berisi string "Firefox/" dan "Gecko/", di antaranya versi Android juga memiliki string "Fennec/";
Opera () Kernel: Dimulai dengan "opera/" dan berisi string "presto/", versi iPhone juga memiliki "opera mini/", dan versi Android juga memiliki "opera mobi/";
Kernel Webkit: Mulailah dengan "Mozilla/", berisi string "AppleWebkit/" dan "Safari/", dan browser Chrome dengan "Chrome/" adalah satu tanpa safari atau yang lainnya;
Di atas adalah kernel browser utama
Kernel browser adalah masalah utama dalam menyelesaikan kompatibilitas , tentu saja, kernel yang sama memberikan hasil pada perangkat yang berbeda seperti smartphone dan komputer, dan ini juga perlu diperhatikan.
3. Contoh aplikasi sebenarnya dari browser yang digunakan:
Kernel browser yang berbeda memiliki efek rendering yang berbeda pada halaman.
Pengguna tidak hanya mengakses situs web melalui komputer. Tablet ini baik -baik saja, layar memiliki resolusi besar dan tinggi. Apakah kamu benar? Lagi pula, sangat tidak nyaman untuk menonton halaman web melalui zooming dan seret lokal. mempercepat akses;
Apakah analisis lalu lintas pengunjung, mengoptimalkan dan merancang situs web Anda sendiri dengan menilai jenis browser pelanggan dan merekam jumlah pelanggan untuk meningkatkan pengalaman pelanggan mereka secara terpisah
Salinan kode adalah sebagai berikut:
<type skrip = "Teks/JavaScript">
var sys = {};
var ua = navigator.useragent.tolowercase ();
var s;
(s = ua.match (/msie ([/d. media+)/))?
(s = ua.match (/firefox // ([/d.]+)/))?
(s = ua.match (/chrome // ([/d.]+)/))?
(s = ua.match (/opera. ([/d.]+)/))?
(s = ua.match (/versi // ([/d.]+).*Safari/))?
// tes berikut
if (sys.ie) document.write ('yaitu:' + sys.ie);
if (sys.firefox) document.write ('firefox:' + sys.firefox);
if (sys.chrome) document.write ('chrome:' + sys.chrome);
if (Sys.opera) document.write ('opera:' + sys.opera);
if (sys.safari) document.write ('safari:' + sys.safari);
</script>
atau:
Metode untuk mendeteksi browser di Kindeditor Open Source Editor Source Code:
Ke = {};
Ke.browser = (function () {
var ua = navigator.useragent.tolowercase ();
kembali {
Versi: ua.match (/(msie | firefox | webkit | opera) [//:/s] (/d+)/)?
Yaitu: (ua.indexof ("msie")> -1 && ua.indexof ("opera") == -1),
Tokek: (ua.indexof ("tokek")> -1 && ua.indexof ("khtml") == -1),
WebKit: (ua.indexof ("appleWebKit")> -1),
Opera: (ua.indexof ("opera")> -1)
};
}) ();