Heim >Web-Frontend >js-Tutorial >Wie ermittelt js, ob der Benutzer WeChat-Browser-Javascript-Kenntnisse verwendet?

Wie ermittelt js, ob der Benutzer WeChat-Browser-Javascript-Kenntnisse verwendet?

WBOY
WBOYOriginal
2016-05-16 16:45:531249Durchsuche

Ich habe letzte Woche eine Anfrage erhalten: Wenn der Benutzer den QR-Code scannt, wird ein Link generiert, der eine Anfrage an das Backend sendet und eine APK-Download-Adresse zurückgibt um die APK herunterzuladen. Nach dem Testen wurde festgestellt, dass die APK durch Klicken auf die Download-Schaltfläche auf der durch Scannen von WeChat geöffneten Seite nicht heruntergeladen werden konnte Nach der Kommunikation mit dem Nachfrager wurde die Anforderung geändert: Wenn der Benutzer die Seite mit dem integrierten Browser von WeChat öffnet, wird er aufgefordert, den Browser zu ändern, um die Seite zu öffnen. Andernfalls kann die APK nicht heruntergeladen werden. Wie kann man also feststellen, ob der Benutzer den WeChat-Browser verwendet?

Wir wissen, dass js browserbezogene Informationen über window.navigator.userAgent abrufen kann, wie zum Beispiel: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, wie Gecko) Chrome/33.0.1750.154 Safari/ 537.36, dann können wir diese Methode auch verwenden, um relevante Informationen über den integrierten Browser von WeChat zu erhalten: Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_1 wie Mac OS X) AppleWebKit/537.51.2 (KHTML, wie Gecko) Mobile/11d201 MicroMessenger / 5.3. Verwenden Sie das Schlüsselwort MicroMessenger, um festzustellen, ob es sich um den integrierten Browser von WeChat handelt. Die Beurteilungsfunktion lautet wie folgt:

Code kopieren Der Code lautet wie folgt:

Funktion istWeiXin (){
var ua = window.navigator.userAgent.toLowerCase();
if(ua.match(/MicroMessenger/i) == 'micromessenger'){
return true; else{
return false;
}
}

Demo:

Code kopieren Der Code lautet wie folgt:
charset="utf-8"/>
Bestimmen Sie, ob es sich um den integrierten Browser von WeChat handelt. h1>Sie können es mit dem WeChat-Browser öffnen: <br><p></p> 🎜><script type="text/javascript" > <br>window.onload = function(){ <br>if(isWeiXin()){ <br>var p = document.getElementsByTagName('p'); <br>p[0].innerHTML = window.navigator.userAgent; >if(ua.match(/MicroMessenger/i) == 'micromessenger'){ <br>return true; <br>}else{ <br>return false; <br>} <br>< /script> <br><br> <br> Hinweis: Sie können die obige Demo auf den Server stellen und dann einen QR-Code zum Scannen generieren.</div></div><div class="nphpQianMsg"><div class="clear"></div></div><div class="nphpQianSheng"><span>Stellungnahme:</span><div>Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn</div></div></div><div class="nphpSytBox"><span>Vorheriger Artikel:<a class="dBlack" title="Drei Implementierungsmethoden für Schaltflächen, um Wagenrücklaufereignisse zu akzeptieren_Javascript-Fähigkeiten" href="https://m.php.cn/de/faq/12728.html">Drei Implementierungsmethoden für Schaltflächen, um Wagenrücklaufereignisse zu akzeptieren_Javascript-Fähigkeiten</a></span><span>Nächster Artikel:<a class="dBlack" title="Drei Implementierungsmethoden für Schaltflächen, um Wagenrücklaufereignisse zu akzeptieren_Javascript-Fähigkeiten" href="https://m.php.cn/de/faq/12732.html">Drei Implementierungsmethoden für Schaltflächen, um Wagenrücklaufereignisse zu akzeptieren_Javascript-Fähigkeiten</a></span></div><div class="nphpSytBox2"><div class="nphpZbktTitle"><h2>In Verbindung stehende Artikel</h2><em><a href="https://m.php.cn/de/article.html" class="bBlack"><i>Mehr sehen</i><b></b></a></em><div class="clear"></div></div><ins class="adsbygoogle" style="display:block" data-ad-format="fluid" data-ad-layout-key="-6t+ed+2i-1n-4w" data-ad-client="ca-pub-5902227090019525" data-ad-slot="8966999616"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({}); </script><ul class="nphpXgwzList"><li><b></b><a href="https://m.php.cn/de/faq/1609.html" title="Eine eingehende Analyse der Bootstrap-Listengruppenkomponente" class="aBlack">Eine eingehende Analyse der Bootstrap-Listengruppenkomponente</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/de/faq/1640.html" title="Detaillierte Erläuterung des JavaScript-Funktions-Curryings" class="aBlack">Detaillierte Erläuterung des JavaScript-Funktions-Curryings</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/de/faq/1949.html" title="Vollständiges Beispiel für die Generierung von JS-Passwörtern und die Erkennung der Stärke (mit Download des Demo-Quellcodes)" class="aBlack">Vollständiges Beispiel für die Generierung von JS-Passwörtern und die Erkennung der Stärke (mit Download des Demo-Quellcodes)</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/de/faq/2248.html" title="Angularjs integriert WeChat UI (weui)" class="aBlack">Angularjs integriert WeChat UI (weui)</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/de/faq/2351.html" title="Wie man mit JavaScript schnell zwischen traditionellem Chinesisch und vereinfachtem Chinesisch wechselt und wie Websites den Wechsel zwischen vereinfachtem und traditionellem Chinesisch unterstützen – Javascript-Kenntnisse" class="aBlack">Wie man mit JavaScript schnell zwischen traditionellem Chinesisch und vereinfachtem Chinesisch wechselt und wie Websites den Wechsel zwischen vereinfachtem und traditionellem Chinesisch unterstützen – Javascript-Kenntnisse</a><div class="clear"></div></li></ul></div></div><ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5902227090019525" data-ad-slot="5027754603"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({}); </script><footer><div class="footer"><div class="footertop"><img src="/static/imghwm/logo.png" alt=""><p>Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!</p></div><div class="footermid"><a href="https://m.php.cn/de/about/us.html">Über uns</a><a href="https://m.php.cn/de/about/disclaimer.html">Haftungsausschluss</a><a href="https://m.php.cn/de/update/article_0_1.html">Sitemap</a></div><div class="footerbottom"><p> © php.cn All rights reserved </p></div></div></footer><script>isLogin = 0;</script><script type="text/javascript" src="/static/layui/layui.js"></script><script type="text/javascript" src="/static/js/global.js?4.9.47"></script></div><script src="https://vdse.bdstatic.com//search-video.v1.min.js"></script><link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css' type='text/css' media='all'/><script type='text/javascript' src='/static/js/viewer.min.js?1'></script><script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script><script>jQuery.fn.wait = function (func, times, interval) { var _times = times || -1, //100次 _interval = interval || 20, //20毫秒每次 _self = this, _selector = this.selector, //选择器 _iIntervalID; //定时器id if( this.length ){ //如果已经获取到了,就直接执行函数 func && func.call(this); } else { _iIntervalID = setInterval(function() { if(!_times) { //是0就退出 clearInterval(_iIntervalID); } _times <= 0 || _times--; //如果是正数就 -- _self = $(_selector); //再次选择 if( _self.length ) { //判断是否取到 func && func.call(_self); clearInterval(_iIntervalID); } }, _interval); } return this; } $("table.syntaxhighlighter").wait(function() { $('table.syntaxhighlighter').append("<p class='cnblogs_code_footer'><span class='cnblogs_code_footer_icon'></span></p>"); }); $(document).on("click", ".cnblogs_code_footer",function(){ $(this).parents('table.syntaxhighlighter').css('display','inline-table');$(this).hide(); }); $('.nphpQianCont').viewer({navbar:true,title:false,toolbar:false,movable:false,viewed:function(){$('img').click(function(){$('.viewer-close').trigger('click');});}}); </script></body><!-- Matomo --><script> var _paq = window._paq = window._paq || []; /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function() { var u="https://tongji.php.cn/"; _paq.push(['setTrackerUrl', u+'matomo.php']); _paq.push(['setSiteId', '9']); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); })(); </script><!-- End Matomo Code --></html>