移動(dòng)端H5喚起APP的寫法實(shí)例(IOS、android)
IOS
1.url scheme
這個(gè)方案基本上就是針對(duì)微信、qq內(nèi)置瀏覽器,qq瀏覽器等之外的其余瀏覽器,從native那邊要一個(gè)scheme ,然后放在a標(biāo)簽里或者location.href跳一下就行了
用一個(gè)iframe去做的一個(gè)跳頁(yè),有的話喚起scheme沒有的話,會(huì)觸發(fā)定時(shí)器跳到下載地址。但是這個(gè)方式在ios里面,在沒有app的時(shí)候會(huì)遇到兩次提示,
var openApp = function (src) { // 通過(guò)iframe的方式試圖打開APP,如果能正常打開,會(huì)直接切換到APP,并自動(dòng)阻止a標(biāo)簽的默認(rèn)行為 // 否則打開a標(biāo)簽的href鏈接 const ifr = document.createElement('iframe'); ifr.src = src; ifr.style.display = 'none'; document.body.appendChild(ifr); var poenTime = +new Date() window.setTimeout(() => { document.body.removeChild(ifr); if ((+new Date()-openTime>2500)){ window.location = 'APP Store下載的地址 ' } }, 600); };
2.Universal Link(ios)
這是iOS9推出的一項(xiàng)功能,如果你的應(yīng)用支持Universal Links(通用鏈接),那么就能夠方便的通過(guò)傳統(tǒng)的HTTP鏈接來(lái)啟動(dòng)APP(如果iOS設(shè)備上已經(jīng)安裝了你的app,不需要額外做任何判斷等),或者打開網(wǎng)頁(yè)(iOS設(shè)備上沒有安裝你的app)。或許可以更簡(jiǎn)單點(diǎn)來(lái)說(shuō)明,在iOS9之前,對(duì)于從各種從瀏覽器,Safari、UIWebView或者 WKWebView中喚醒APP的需求,我們通常只能使用scheme。
window.location.href ="APP給的Universal Link"
總結(jié)
兼容寫法
if (isGreaterThan9){ window.location.href ="APP給的Universal Link" ; return; } openApp(src)
android
方法類似
if (openApp('url scheme url')) { openApp('url scheme url'); } else { setTimeout(() => { window.location.href = 'APP 市場(chǎng)下載地址';// 一般是google, 各個(gè)應(yīng)用商店不一樣 }, 600); } }
總結(jié)
到此這篇關(guān)于移動(dòng)端H5喚起APP的文章就介紹到這了,更多相關(guān)移動(dòng)端H5喚起APP內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript判斷數(shù)據(jù)類型有幾種方法及區(qū)別介紹
這篇文章主要介紹了JavaScript判斷數(shù)據(jù)類型有幾種方法及區(qū)別介紹,本文給大家分享多種方法通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09JS中錨點(diǎn)鏈接點(diǎn)擊平滑滾動(dòng)并自由調(diào)整到頂部位置
這篇文章主要介紹了JS中錨點(diǎn)鏈接點(diǎn)擊平滑滾動(dòng)并自由調(diào)整到頂部位置,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02淺談通過(guò)JS攔截 pushState和replaceState事件
下面小編就為大家?guī)?lái)一篇淺談通過(guò)JS攔截 pushState和replaceState事件。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07JavaScript利用正則表達(dá)式來(lái)禁止鍵盤輸入數(shù)字
本文主要介紹了JavaScript利用正則表達(dá)式來(lái)禁止鍵盤輸入數(shù)字,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06iframe的onload在Chrome/Opera中執(zhí)行兩次Bug的解決方法
創(chuàng)建iframe對(duì)象,添加load事件, 再將iframe添加到body中。Chrome/Opera中會(huì)造成load事件的handler執(zhí)行兩次。2011-03-03詳解js對(duì)象中屬性的兩種類型之?dāng)?shù)據(jù)屬性和訪問(wèn)器屬性
在理解vue底層響應(yīng)式原理時(shí),了解到,原來(lái)對(duì)象中的屬性,不單單從表面看起來(lái)那么簡(jiǎn)單是key:value形式,而是還有隱藏的內(nèi)部特性,其中對(duì)象內(nèi)的屬性分為兩種類型的屬性:數(shù)據(jù)屬性和訪問(wèn)器屬性,本文將給大家詳細(xì)介紹一下數(shù)據(jù)屬性和訪問(wèn)器屬性,需要的朋友可以參考下2023-05-05