Maison >interface Web >js tutoriel >js plusieurs méthodes pour déterminer si une certaine application est installée sur le terminal mobile_javascript skills
Les exemples de cet article expliquent les différentes méthodes d'utilisation de js pour déterminer si une certaine application est installée sur le terminal mobile et la partagent avec tout le monde pour votre référence. Le contenu spécifique est le suivant
.Première méthode :
1 : Déterminer de quel type d'équipement il s'agit
var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; //android终端或者uc浏览器 var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
Deux : Appareils Android : Principe : Déterminez si vous connaissez le protocole. Si vous le connaissez, sautez directement. Si vous ne le connaissez pas, téléchargez l'application ici
.android(); if(isAndroid){ function android(){ window.location.href = "openwjtr://com.tyrbl.wjtr"; /***打开app的协议,有安卓同事提供***/ window.setTimeout(function(){ window.location.href = "http://www.wjtr.com/download/index.html"; /***打开app的协议,有安卓同事提供***/ },2000); };
2 : appareil iOS : Principe : Déterminez si vous connaissez ce protocole. Si vous le connaissez, sautez directement. Si vous ne le connaissez pas, téléchargez appios();
.
if(isiOS){ function ios(){ var ifr = document.createElement("iframe"); ifr.src = "openwjtr://com.tyrbl.wjtr"; /***打开app的协议,有ios同事提供***/ ifr.style.display = "none"; document.body.appendChild(ifr); window.setTimeout(function(){ document.body.removeChild(ifr); window.location.href = "http://www.wjtr.com/download/index.html"; /***下载app的地址***/ },2000) }; }
Deuxième méthode :
Bien que vous puissiez démarrer une application dans JS, il ne peut pas déterminer si l'application est installée
;
Le démarrage de l'application prend beaucoup de temps et le temps d'interruption du js est long. S'il n'est pas installé, le js sera exécuté instantanément. Sautez simplement dans le code !
code html :
<a href="javascript:testApp('tel:1868888888')">打电话</a>
code js :
function testApp(url) { var timeout, t = 1000, hasApp = true; setTimeout(function () { if (hasApp) { alert('安装了app'); } else { alert('未安装app'); } document.body.removeChild(ifr); }, 2000) var t1 = Date.now(); var ifr = document.createElement("iframe"); ifr.setAttribute('src', url); ifr.setAttribute('style', 'display:none'); document.body.appendChild(ifr); timeout = setTimeout(function () { var t2 = Date.now(); if (!t1 || t2 - t1 < t + 100) { hasApp = false; } }, t); }
Troisième méthode :
Je travaille récemment sur la version wap du projet. L'une des exigences est d'abord de déterminer si notre application APP est disponible sur le téléphone mobile. Si c'est le cas, ouvrez l'application. Sinon, accédez à la page wap.
En termes simples, un wap est un site Web qui s'exécute sur un navigateur mobile. Peu importe où se trouve l'application, il ne s'agit que d'un navigateur. Vous pouvez utiliser JS pour déterminer s'il existe une application localement. La mise en œuvre réelle consiste à convertir le protocole http en protocole logiciel local.
Postez simplement le code directement.
Comme suit :
<script language="javascript"> if (navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) { var loadDateTime = new Date(); window.setTimeout(function() { var timeOutDateTime = new Date(); if (timeOutDateTime - loadDateTime < 5000) { window.location = "要跳转的页面URL"; } else { window.close(); } }, 25); window.location = " apps custom url schemes "; } else if (navigator.userAgent.match(/android/i)) { var state = null; try { state = window.open("apps custom url schemes ", '_blank'); } catch(e) {} if (state) { window.close(); } else { window.location = "要跳转的页面URL"; } } </script>
Que sont les schémas d'URL personnalisés pour les applications ?
est en fait une URL de protocole convenue entre vous et l'APP. Vos collègues IOS ou Android mettront en place un schéma d'URL lors de l'écriture du programme,
.
Par exemple, paramètre :
Schéma d'URL : application
Ensuite, d'autres programmes peuvent appeler l'application via URLString = app://.
Vous pouvez également transmettre des paramètres, tels que :
app://reaction/?uid=1
Principe : Dans un délai de 500 ms, il existe une application sur cette machine qui peut analyser ce protocole, ouvrir le programme et appeler l'application s'il n'y a aucune application sur cette machine qui peut analyser ; ce protocole ou cette machine n'ouvre pas ce programme dans les 500 ms, exécutez la fonction dans setTimeout, qui consiste à accéder à la page à laquelle vous souhaitez accéder.
Ce qui précède présente différentes méthodes permettant à JS de déterminer si une certaine application est installée sur le terminal mobile. J'espère que cela sera utile à l'apprentissage de chacun.