vue中h5端打開app(判斷是安卓還是蘋果)
1.開發(fā)環(huán)境 vue+vant
2.電腦系統(tǒng) windows10專業(yè)版
3.在h5端開發(fā)的過程中,我們經(jīng)常需要點(diǎn)擊一個(gè)按鈕來判斷用戶使用安裝了app(首先判斷是安卓還是蘋果,然后判斷是否安裝了app,如果沒有安裝則跳轉(zhuǎn)到下載頁(yè)面,如果安裝了則打開)。
4.廢話不多說,直接上代碼:
<div @click='openapp'> Open APP</div>
5.在methods中添加如下代碼:
openapp() { var u = navigator.userAgent, app = 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('我是安卓'); this.android(); } if (isIOS) { // alert('我是蘋果'); } },
android() { var _clickTime = new Date().getTime(); window.location.href = ’zhihu://’; /***打開app的協(xié)議,有安卓同事提供***/ //啟動(dòng)間隔20ms運(yùn)行的定時(shí)器,并檢測(cè)累計(jì)消耗時(shí)間是否超過3000ms,超過則結(jié)束 var _count = 0, intHandle; intHandle = setInterval(function () { _count++; var elsTime = new Date().getTime() - _clickTime; if (_count >= 100 || elsTime > 5000) { console.log(_count) console.log(elsTime) clearInterval(intHandle); //檢查app是否打開 if (document.hidden || document.webkitHidden) { // 打開了 window.location.href = 'zhihu://'; // alert(’打開了’); window.close(); // return; } else { // 沒打開 // alert(’沒打開’); window.location.href = 'http://m.piao2010.com/bcjs/10356.html';//下載鏈接 } } }, 20); },
5.注意:在這個(gè)案例中我是用的知乎的例子:
6.注意
使用Custom URL Scheme的好處就是,你可以在其他程序中通過這個(gè)url打開應(yīng)用程序。如果A應(yīng)用程序注冊(cè)了一個(gè) url scheme:myApp,那么就在mobile瀏覽器中就可以通過<a href ='myApp://'>打開你的應(yīng)用程序。請(qǐng)注意,IOS中如果系統(tǒng)注冊(cè)了 url schemen且安裝了那個(gè)應(yīng)用程序,通過上面那種網(wǎng)頁(yè)的方式就可以打開應(yīng)用程序(親測(cè)有效)。注意:IOS中不能注冊(cè)為http://xxx這樣的url scheme,而android是可以的。
到此這篇關(guān)于vue中h5端打開app(判斷是安卓還是蘋果)的文章就介紹到這了,更多相關(guān)vue中h5端打開app 內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 低版本IE正常運(yùn)行HTML5+CSS3網(wǎng)站的3種解決方案2. jsp實(shí)現(xiàn)局部刷新頁(yè)面、異步加載頁(yè)面的方法3. xml文件的結(jié)構(gòu)解讀第1/2頁(yè)4. Jsp中request的3個(gè)基礎(chǔ)實(shí)踐5. 使用python修改文件并立即寫回到原始位置操作(inplace讀寫)6. Java map.getOrDefault()方法的用法詳解7. 什么是python的id函數(shù)8. python GUI庫(kù)圖形界面開發(fā)之PyQt5工具欄控件QToolBar的詳細(xì)使用方法與實(shí)例9. Python填充任意顏色,不同算法時(shí)間差異分析說明10. Android 解決sqlite無法創(chuàng)建新表的問題
