Maison > Article > interface Web > js pour déterminer quel navigateur ouvrir les compétences page_javascript actuelles
J'ai travaillé sur de nombreux projets HTML5 récemment, et de nombreuses pages seront partagées via les SNS tels que WeChat et Weibo. Fournissez les téléchargements de l'application de l'entreprise sur la page de partage. Cependant, dans de nombreux navigateurs d'applications, le fait de cliquer sur le lien de téléchargement ne permet pas de télécharger l'application. Ensuite, pour ces navigateurs, nous devons inviter les utilisateurs à ouvrir la page partagée depuis Safari ou le propre navigateur du système. Grâce à js, nous pouvons déterminer dans quel navigateur la page actuelle est ouverte.
Ce qui suit est un exemple de code. Les commentaires indiquent comment utiliser JS pour déterminer s'il est ouvert dans le navigateur WeChat, s'il se trouve dans QQ Space Browser et si c'est dans Ouvrir Sina Weibo . Bien sûr, il peut être rendu plus parfait, et le jugement est de savoir s'il est ouvert sur un appareil mobile ou sur un PC le navigateur s'ouvre Vous pouvez vous référer à cet article pour plus de détails. On peut juger qu'il est ouvert dans le navigateur du système Android ou Le navigateur du système IOS s'ouvre .
if (browser.versions.mobile) {//判断是否是移动设备打开。browser代码在下面 var ua = navigator.userAgent.toLowerCase();//获取判断用的对象 if (ua.match(/MicroMessenger/i) == "micromessenger") { //在微信中打开 } if (ua.match(/WeiBo/i) == "weibo") { //在新浪微博客户端打开 } if (ua.match(/QQ/i) == "qq") { //在QQ空间打开 } if (browser.versions.ios) { //是否在IOS浏览器打开 } if(browser.versions.android){ //是否在安卓浏览器打开 } } else { //否则就是PC浏览器打开 }
var browser = { versions: function () { var u = navigator.userAgent, app = navigator.appVersion; return { //移动终端浏览器版本信息 trident: u.indexOf('Trident') > -1, //IE内核 presto: u.indexOf('Presto') > -1, //opera内核 webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核 gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核 mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端 ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端 android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或uc浏览器 iPhone: u.indexOf('iPhone') > -1, //是否为iPhone或者QQHD浏览器 iPad: u.indexOf('iPad') > -1, //是否iPad webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部 }; }(), language: (navigator.browserLanguage || navigator.language).toLowerCase() }
J'ai utilisé JS pour juger. Après avoir recherché des informations, j'ai finalement obtenu l'effet et saisi directement le code
function is_weixn(){ var ua = navigator.userAgent.toLowerCase(); if(ua.match(/MicroMessenger/i)=="micromessenger") { return true; } else { return false; } }
.
function is_weixin(){ if ( strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false ) { return true; } return false; }