vue中h5端打開app(判斷是安卓還是蘋果)
1.開發(fā)環(huán)境 vue+vant
2.電腦系統(tǒng) windows10專業(yè)版
3.在h5端開發(fā)的過程中,我們經(jīng)常需要點(diǎn)擊一個(gè)按鈕來(lái)判斷用戶使用安裝了app(首先判斷是安卓還是蘋果,然后判斷是否安裝了app,如果沒有安裝則跳轉(zhuǎn)到下載頁(yè)面,如果安裝了則打開)。
4.廢話不多說(shuō),直接上代碼:
<div class="xiding-r" @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 = "";//下載鏈接
}
}
}, 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)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue實(shí)現(xiàn)卡片翻轉(zhuǎn)輪播展示
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)卡片翻轉(zhuǎn)輪播展示,同時(shí)在翻轉(zhuǎn)時(shí)切換數(shù)據(jù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-01-01
vue單個(gè)組件實(shí)現(xiàn)無(wú)限層級(jí)多選菜單功能
這篇文章主要介紹了vue單個(gè)組件實(shí)現(xiàn)無(wú)限層級(jí)多選菜單的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2018-04-04
vue如何解決循環(huán)引用組件報(bào)錯(cuò)的問題
這篇文章主要介紹了vue如何解決循環(huán)引用組件報(bào)錯(cuò)的問題,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2018-09-09
基于vue+echarts數(shù)據(jù)可視化大屏展示的實(shí)現(xiàn)
這篇文章主要介紹了基于vue+echarts數(shù)據(jù)可視化大屏展示的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
vue-week-picker實(shí)現(xiàn)支持按周切換的日歷
這篇文章主要為大家詳細(xì)介紹了vue-week-picker實(shí)現(xiàn)支持按周切換的日歷,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06
深度了解vue.js中hooks的相關(guān)知識(shí)
這篇文章主要介紹了深度了解vue.js中hooks的相關(guān)知識(shí),生命周期鉤子提供了一些 方法 ,因此你可以在組件生命周期的不同時(shí)刻精確地觸發(fā)某些操作。當(dāng)我們將組件實(shí)例化時(shí),組件會(huì)被創(chuàng)建,反之會(huì)被銷毀。,需要的朋友可以參考下2019-06-06
Vue實(shí)現(xiàn)頁(yè)面的局部刷新(router-view頁(yè)面刷新)
本文主要介紹了Vue實(shí)現(xiàn)頁(yè)面的局部刷新(router-view頁(yè)面刷新),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12

