vue で h5 側のアプリを開きます (Android か Apple かを判断します)

vue で h5 側のアプリを開きます (Android か Apple かを判断します)

1. 開発環境 vue+vant

2. コンピュータシステム Windows 10 Professional Edition

3. h5 エンドの開発中に、ユーザーがアプリをインストールしたかどうかを判断するためにボタンをクリックする必要があることがよくあります (最初に Android か Apple かを判断し、次にアプリがインストールされているかどうかを判断します。インストールされていない場合はダウンロード ページにジャンプし、インストールされている場合は開きます)。

4. では、早速コードを見てみましょう。

<div class="xiding-r" @click="openapp">
 アプリを開く
</div>

5. メソッドに次のコードを追加します。

  オープンアプリ() {
  var u = ナビゲータ.userAgent、
   アプリ = navigator.appVersion;
  var isAndroid = u.indexOf("Android") > -1 || u.indexOf("Linux") > -1;
  var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
  if (isAndroid) {
   // alert("私はAndroidです");
   android.app.android() を呼び出します。
  }
  (IOSの場合) {
   // アラート("私はAppleです");
  }
  },
アンドロイド(){
  var _clickTime = 新しい Date().getTime();
  window.location.href = 'zhihu://'; /***Android の同僚が提供したアプリ契約を開く***/

  // 20ms間隔でタイマーを開始し、累積消費時間が3000msを超えるかどうかを確認します。超えている場合は終了します。var _count = 0, intHandle;
  intHandle = setInterval(関数() {
   _count++;
   var elsTime = new Date().getTime() - _clickTime;
   _count >= 100 || elsTime > 5000 の場合 {
   コンソールログ(_count)
   コンソールログ(elsTime)
   クリア間隔(intHandle);
   // アプリが開いているかどうかを確認します if (document.hidden || document.webkitHidden) {
    // 開いた window.location.href = "zhihu://";
    // アラート('開かれました');
    ウィンドウを閉じる();
    // 戻る;
   } それ以外 {
    // 開いていません // alert('開いていません');
    window.location.href = ""; //ダウンロードリンク}
   }
  }, 20);
  },

5. 注: この場合、私は Zhihu の例を使用しました。

6. 注記

カスタム URL スキームを使用する利点は、他のプログラムでこの URL を介してアプリケーションを開くことができることです。アプリケーション A が URL スキーム:myApp を登録すると、<a href ="myApp://"> を通じてモバイル ブラウザーでアプリケーションを開くことができます。 iOS では、システムが URL スキームを登録し、アプリをインストールしている場合は、上記の Web ページ メソッド (テスト済みで有効) を使用してアプリを開くことができます。注意: iOS では http://xxx のような URL スキームを登録できませんが、Android では登録できます。

これで、vue の h5 からアプリを開く方法 (Android か Apple かを判断する方法) に関するこの記事は終了です。vue の h5 からアプリを開く方法に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue開発におけるブラウザ別の型判定方法
  • vueとAndroidおよびIOS間のインタラクションを実装する方法
  • VueはAndroidかiOSかをどのように判断するのか

<<:  DockerにTensorFlow環境を素早くインストールする方法

>>:  MySQLはinit-connectを使用してアクセス監査機能の実装を増やします

推薦する

Dockerコンテナ間で通信する3つの方法

Docker コンテナは互いに分離されており、相互にアクセスできないことは誰もが知っていますが、依存...

インデックスを設計する際の原則は何ですか? インデックスの障害を回避するにはどうすればよいでしょうか?

目次主キーインデックス頻繁にクエリされるフィールドのインデックスを作成する大きなフィールドのインデッ...

WeChat アプレット uniapp は左スワイプによる削除効果を実現します (完全なコード)

WeChatアプレットuniappは左スワイプで削除効果を実現成果を達成する1. スワイプしてリス...

MySQL インデックスの原理と使用例の分析

この記事では、例を使用して MySQL インデックスの原理と使用方法を説明します。ご参考までに、詳細...

JavaScriptカスタムオブジェクトメソッドの概要

目次1. オブジェクトを使用してオブジェクトを作成する2. コンストラクタを使用してオブジェクトを作...

WeChatミニプログラム抽選コンポーネントの使い方

WeChatコンポーネントの形式で提供されます。コンポーネント内部ではasync/awaitが使用さ...

デザイン理論: なぜ私たちは間違った場所を見ているのでしょうか?

数日前、バスで仕事に行きました。バスのカードリーダーの実際の使用シーンを実際に見て、カードリーダーの...

クロスドメインの問題を解決するためのNginxの実用的な方法

フロントエンドとバックエンドを分離し、nginxを使用してクロスドメインの問題を解決するフロントエン...

Mysql はテーブル内の古いデータを定期的にクリアし、いくつかのデータを保持します (推奨)

以下の目標を達成するため: Mysql データベースは、一定の間隔 (2 時間または 1 日、カスタ...

CSS3のvar()を使用して実行時にscss変数の値を変更する詳細な説明

var() の紹介と使用法詳細 (MDN) IEは無効ですが、他の主流のブラウザは有効ですvar()...

Javascript配列の重複排除のいくつかの方法の詳細な説明

目次アレイ重複排除1 2層forループ(バブルソートの2層ループ記述に類似) 2 ループとインデック...

startup.bat をダブルクリックすると Tomcat がクラッシュする問題の解決方法の詳細な説明

Tomcat を学習したばかりのプログラマーにとって、これはよくある間違いです。 1. 環境変数の問...

ウェブ開発におけるクロスドメインの理由に対する複数のソリューション

目次クロスドメインの理由JSONP Nginxソリューションバックエンドソリューションクロスドメイン...

標準SQL更新ステートメントの3つの用途についての簡単な理解

1. 環境: MySQL-5.0.41-win32 Windows XP プロフェッショナル2. テ...

Vue2.x の応答性の簡単な説明と例

1. Vue レスポンシブの使用法を確認する​ Vue の応答性は、私たち全員がよく知っています。 ...