ホームページ >ウェブフロントエンド >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终端

2: Android デバイス: 原則: プロトコルを知っているかどうかを判断します。知らない場合は、ここからアプリをダウンロードしてください。

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)
      };
}

2 番目の方法:

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); 
} 

3 番目の方法:

私は最近、プロジェクトの wap バージョンに取り組んでいます。要件の 1 つは、まず、APP アプリケーションが携帯電話で利用できるかどうかを確認することです。利用できる場合は、アプリケーションを開き、wap ページに移動します。

簡単に言うと、wap はモバイル ブラウザ上で動作する Web サイトです。アプリケーションがどこにあっても、それは単なるブラウザです。実際の実装では、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 スキームとは何ですか?
は、実際には、あなたと APP の間で合意されたプロトコル URL であり、プログラムを作成するときに、IOS または Android の同僚が URL スキームを設定します。 設定例:
URL スキーム: app
その後、他のプログラムは URLString = app:// を介してアプリケーションを呼び出すことができます。
次のようなパラメータを渡すこともできます:


app://reaction/?uid=1
原則:
このマシン上にこのプロトコルを解析できるアプリケーションが存在し、このプロトコルを解析できるアプリケーションがない場合はプログラムを開いてアプリケーションを呼び出します。プロトコルが終了するか、このマシンが 500ms 以内にプログラムを開かない場合は、setTimeout でジャンプしたいページにジャンプする関数を実行します。 上記は、モバイル端末に特定のアプリがインストールされているかどうかを判断するための JS のさまざまな方法です。皆さんの学習に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。