jsを呼び出してAPPを開くブラウザクリックで微信を開く


需要
プロジェクトでは、Webページでアプリを開く必要があり、携帯電話にアプリがインストールされていない場合は、カスタムのダウンロードアプリをダウンロードするページにジャンプする必要があります.このような需要は多くの「他人の家」のウェブサイトで実現でき、私たちの開発者はもちろん需要があっても振り回されます.
ぶんせき
まず、携帯電話側で開いているかどうかを判断し、携帯電話側がappを開くように呼び出し、pcはダウンロードページを直接ジャンプします.呼び出しオープンappは、実際にはあるappリンクをジャンプすることに相当するが、jsはジャンプオープンが可能かどうかを判断できない.直接的な方法がない以上、しばらくトリガした後にブラウザを傍受して隠すかどうかを判断することができ、隠し説明が開いてAPPを呼び出した場合、設定時間が過ぎても隠しイベントに入っていない場合は、携帯電話がこのAPPをインストールしていないことを説明すると、APPのダウンロードページにジャンプします.
インプリメンテーション
リスナーブラウザが保留中のh 5の新しいイベントは、visibilitychangeコードが次のとおりです.
//  3    app      
var COUNT = 3;
//   
var TIMER;

$('button').click(function(){
	bindEvent()
	//    
	window.location = 'weixin://';
	TIMER = setTimeout(function(){
		//        
		window.location.href = 'download.html';
	},COUNT*1000);
});

//      
function bindEvent() {
	var hidden, visibilityChange;
	if (typeof document.hidden !== "undefined") {
	    hidden = "hidden";
	    visibilityChange = "visibilitychange";
	} else if (typeof document.msHidden !== "undefined") {
	    hidden = "msHidden";
	    visibilityChange = "msvisibilitychange";
	} else if (typeof document.webkitHidden !== "undefined") {
	    hidden = "webkitHidden";
	    visibilityChange = "webkitvisibilitychange";
	}
	$(document).bind(visibilityChange, function () {
	    if(document[hidden]) {
	    	//        (   APP)    
	        clearTimeout(TIMER);
	    }
	});
}

まとめ
ユーザ体験や最適化を考慮すると,移動端にいるか否かを判断し,起動前にロード状態を表示し,カウントダウンを行い,開いた後に傍受保留関数のバインドを解除するなどする必要がある.もっといい方法があるので、よろしくお愿いします.