1. 程式人生 > >H5啟動APP

H5啟動APP

最近沒那麼忙,把之前做的一些東西整理下,今天就來記錄下H5如何啟動App吧,就當做個筆記記錄下,以後有用到能直接運用,也希望能幫助有需要的朋友。


           //這裡是 Scheme 地址 都是做IOS或者安卓的人員配置的  這裡拿微信舉例
           var appUrl = 'weixin://;
           openApp(appUrl,function (isOpen) {
            
            //這裡面是回撥函式,可根據需求自己寫
                   
           });
 

            function openApp(openUrl,callback) {

                //檢查app是否開啟
                function checkOpen(cb){
                    var _clickTime = +(new Date());
                    function check(elsTime) {
                        if ( elsTime > 3000 || document.hidden || document.webkitHidden) {
                            cb(1);
                        } else {
                            cb(0);
                        }
                    }
                    //啟動間隔20ms執行的定時器,並檢測累計消耗時間是否超過3000ms,超過則結束
                    var _count = 0, intHandle;
                    intHandle = setInterval(function(){
                        _count++;
                        var elsTime = +(new Date()) - _clickTime;
                        if (_count>=100 || elsTime > 3000 ) {
                            clearInterval(intHandle);
                            check(elsTime);
                        }
                    }, 20);
                }

                //在iframe 中開啟APP
                var ifr = document.createElement('iframe');
                ifr.src = openUrl;
                ifr.style.display = 'none';
                if (callback) {
                    checkOpen(function(opened){
                        callback && callback(opened);
                    });
                }

                document.body.appendChild(ifr);
                setTimeout(function() {
                    document.body.removeChild(ifr);
                }, 2000);
            }
這個方法它會檢查是否有安裝你所需要啟動的APP,沒有的話就會就如回撥函式,執行回函數的操作。