이 글의 예시에서는 js를 사용하여 특정 앱이 모바일 단말기에 설치되어 있는지 확인하고 이를 모든 사람과 공유하여 참고할 수 있는 다양한 방법을 설명합니다.
첫 번째 방법:
1: 어떤 장비인지 확인하세요
var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; //android终端或者uc浏览器 var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
둘: 안드로이드 기기: 원칙: 프로토콜을 알고 있는지 확인하세요. 모르신다면 여기에서 앱을 다운로드하세요.
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: ios 기기: 원칙: 이 프로토콜을 알고 있는지 확인하세요. 모르면 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) }; }
두 번째 방법:
JS에서 앱을 시작할 수는 있지만 앱 설치 여부를 확인할 수는 없습니다.
앱을 시작하는 데 시간이 오래 걸리고, js 중단 시간도 깁니다. 설치되어 있지 않으면 js가 즉시 실행됩니다. 그냥 코드로 뛰어들어보세요!
HTML 코드:
<a href="javascript:testApp('tel:1868888888')">打电话</a>
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); }
세 번째 방법:
최근에 프로젝트의 wap 버전을 작업 중입니다. 요구사항 중 하나는 먼저 휴대폰에서 APP 애플리케이션을 사용할 수 있는지 확인하는 것입니다. 그렇다면 애플리케이션을 엽니다.
간단히 말해서, wap은 모바일 브라우저에서 실행되는 웹사이트입니다. 애플리케이션이 어디에 있든 JS를 사용하여 로컬에 애플리케이션이 있는지 확인할 수 있습니다. 실제 구현은 http 프로토콜을 로컬 소프트웨어 프로토콜로 변환하는 것입니다.
코드를 직접 게시하면 됩니다.
다음과 같습니다:
<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>
앱 맞춤 URL 구성표란 무엇인가요?
은 실제로 귀하와 앱 간에 합의된 프로토콜 URL입니다. IOS 또는 Android 동료가 프로그램을 작성할 때 URL 체계를 설정합니다.
예를 들어 설정:
URL 구성표: 앱
그런 다음 다른 프로그램은 URLString = app://을 통해 애플리케이션을 호출할 수 있습니다.
다음과 같은 매개변수를 전달할 수도 있습니다.
app://reaction/?uid=1
원리: 500ms 이내에 이 프로토콜을 구문 분석할 수 있는 애플리케이션이 이 머신에 있고, 프로그램을 열고, 이 머신에 구문 분석할 수 있는 애플리케이션이 없으면 애플리케이션을 호출합니다. 이 프로토콜이나 이 기계가 500ms 프로그램 내에서 이것을 열지 않으면, 점프하려는 페이지로 점프하는 setTimeout의 함수를 실행하십시오.
위 내용은 JS가 모바일 단말기에 특정 앱이 설치되어 있는지 확인하는 다양한 방법입니다. 모든 분들의 학습에 도움이 되길 바랍니다.