Minggu lalu, saya menerima permintaan, yaitu sebagai berikut: Pengguna memindai kode QR dan akan menghasilkan tautan. Tautan akan mengirim permintaan ke backend dan mengembalikan alamat unduhan APK. Pengguna dapat mengunduh APK ini dengan mengklik tombol unduh. Kemudian terjadi masalah. Setelah pengujian, saya menemukan bahwa dengan memindai halaman terbuka dengan WeChat, mengklik tombol unduh, saya tidak dapat mengunduh APK. Setelah itu, Baidu mengatakan bahwa browser bawaan WeChat memblokir tautan unduhan dan berkomunikasi dengan sisi permintaan nanti. Persyaratan diubah menjadi jika pengguna membukanya dengan browser bawaan WeChat, pengguna diminta untuk mengubah browser untuk membuka halaman, jika tidak, APK tidak dapat diunduh. Jadi bagaimana Anda menentukan apakah pengguna menggunakan browser WeChat?
Kita tahu bahwa JS dapat memperoleh informasi yang relevan tentang browser melalui window.navigator.useragent, seperti: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, seperti Gecko) Chrome/33.0.1750.154 Safari/537.36. Kemudian kita juga dapat memperoleh informasi yang relevan tentang browser bawaan WeChat melalui metode ini: Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_1 seperti Mac OS X) AppleWebKit/537.51.2 (KHTML, Like Gecko) Mobile/11d201 Micromessenger/5.3. Berdasarkan kata kunci Micromessenger, tentukan apakah itu browser bawaan untuk WeChat. Fungsi penilaian adalah sebagai berikut:
Salinan kode adalah sebagai berikut:
fungsi isweixin () {
var ua = window.navigator.useragent.tolowercase ();
if (ua.match (/micromessenger/i) == 'micromessenger') {
Kembali Benar;
}kalau tidak{
mengembalikan false;
}
}
Demo:
Salinan kode adalah sebagai berikut:
<! Doctype html>
<html lang = "en">
<head>
<meta charset = "UTF-8"/>
<title> Tentukan apakah itu browser bawaan untuk weChat </iteme>
</head>
<body>
<h1> Jika Anda membukanya di browser WeChat, Anda dapat melihat teks berikut </h1>
<p> </p>
</body>
</html>
<type skrip = "Teks/JavaScript">
window.onload = function () {
if (isweixin ()) {
var p = document.geteLementsbyTagname ('p');
p [0] .innerhtml = window.navigator.useragent;
}
}
fungsi isweixin () {
var ua = window.navigator.useragent.tolowercase ();
if (ua.match (/micromessenger/i) == 'micromessenger') {
Kembali Benar;
}kalau tidak{
mengembalikan false;
}
}
</script>
Catatan: Anda dapat menempatkan demo di atas di server dan menghasilkan kode QR dan memindai.