Meskipun keduanya adalah browser berbasis Webkit, tanda kutip urlencode Safari di URL sementara Chrome tidak.
Oleh karena itu saya perlu membedakan keduanya di JS.
Dokumen deteksi browser jQuery menandai "safari" sebagai usang.
Apakah ada metode yang lebih baik atau apakah saya tetap menggunakan nilai yang tidak berlaku lagi untuk saat ini?
javascript
jquery
browser-detection
AndreKR
sumber
sumber
$.browser.safari === true
. eeek.Jawaban:
Menggunakan campuran
feature detection
danUseragent
string:Pemakaian:
if (is_safari) alert('Safari');
Atau hanya untuk Safari, gunakan ini:
sumber
(Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36)
Yang berikut ini mengidentifikasi Safari 3.0+ dan membedakannya dari Chrome:
sumber
sayangnya contoh di atas juga akan mendeteksi browser default android sebagai Safari, padahal sebenarnya bukan. Saya dulu
navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1 && navigator.userAgent.indexOf('Android') == -1
sumber
Untuk memeriksa Safari saya menggunakan ini:
Ini bekerja dengan benar.
sumber
Rupanya satu-satunya solusi yang dapat diandalkan dan diterima adalah melakukan deteksi fitur seperti ini:
sumber
Satu-satunya cara yang saya temukan adalah memeriksa apakah navigator.userAgent berisi kata iPhone atau iPad
sumber
Jika Anda memeriksa penggunaan browser
$.browser
. Tetapi jika Anda memeriksa dukungan fitur (disarankan) kemudian gunakan$.support
.Anda TIDAK boleh menggunakan $ .browser untuk mengaktifkan / menonaktifkan fitur di halaman. Alasannya tidak dapat diandalkan dan umumnya tidak disarankan.
Jika Anda membutuhkan dukungan fitur maka saya merekomendasikan modernizr .
sumber
location.hash = '"blah"'; if (location.hash == '#%22blah%22') alert('is Safari');
?http://jsfiddle.net/s1o943gb/10/
sumber
Cara yang sangat berguna untuk memperbaikinya adalah dengan mendeteksi versi browser webkit dan memeriksa apakah versi tersebut paling tidak yang kita butuhkan, atau lakukan yang lain.
Menggunakan jQuery seperti ini:
Ini memberikan perbaikan yang aman dan permanen untuk menangani masalah dengan penerapan webkit yang berbeda pada browser.
Selamat membuat kode!
sumber
Ini akan menentukan apakah browser itu Safari atau bukan.
sumber
sumber
Saya menggunakan untuk mendeteksi mesin browser Apple, kondisi JavaScript sederhana ini:
sumber
FUNGSI Generik
sumber