Deixe -me dizer o princípio da implementação primeiro
Julgando se existe uma palavra-chave Micromessenger em UA, se sim, é um navegador embutido para o WeChat
O código de implementação é o seguinte:
// julgue se deve fazer login na função weChat isweixin () {var ua = window.navigator.userAgent.tolowercase (); console.log (ua); // mozilla/5.0 (iPhone; CPU iPhone OS 9_1 como o Mac OS X) Applewebkit/601.1.146 safari/601.1if (ua.match (/microMessenger/i) == 'microMessenger') {return true;} else {return false;}} if (isweixin ()) {console.log ("não é do wechat embutido interno")} mais {console.log ("UA Ritsuko do WeChat Browser
No iPhone:
Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 como Mac OS X) Applewebkit/534.46 (KHTML, como Gecko) Mobile/9B176 Micromessenger/4.3.2
Sob Android:
Mozilla/5.0 (Linux; U; Android 2.3.6; ZH-CN; GT-S5660 Build/Gingerbread) Applewebkit/533.1 (KHTML, como Gecko) Versão/4.0 Safari Mobile/533.1
Crie um novo simulador e substitua UA como mostrado na figura:
Teste de simulação com o iPhone 5 do Chrome
PS: JS determina se está aberto no navegador WeChat
Use o JS para julgar e, depois de procurar informações, o efeito foi finalmente alcançado. Eu enviei diretamente o código
função is_weixn () {var ua = navegator.UserAgent.TolowerCase (); if (ua.match (/microMessenger/i) == "microMessenger") {return true; } else {return false; }}Passou completamente no teste, seja Android ou iPhone ou iPad. Obviamente, além de usar o JS para julgar, é mais fácil julgar em outros idiomas, como o PHP
function is_weixin () {if (strpos ($ _ server ['http_user_agent'], 'microMessenger')! == false) {return true; } retornar false; }