>웹 프론트엔드 >JS 튜토리얼 >js 모바일 단말에 특정 앱이 설치되어 있는지 확인하는 다양한 방법_javascript 기술

js 모바일 단말에 특정 앱이 설치되어 있는지 확인하는 다양한 방법_javascript 기술

WBOY
WBOY원래의
2016-05-16 15:25:021362검색

이 글의 예시에서는 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);&#63;/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가 모바일 단말기에 특정 앱이 설치되어 있는지 확인하는 다양한 방법입니다. 모든 분들의 학습에 도움이 되길 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.