移动app部分机型无法唤起h5支付宝支付_用这段代码对App说:喂,醒醒!App,到你出场了!...
一般公司都有自己的app,而app是需要不斷有新用戶涌入才能持續(xù)運營,達(dá)到不錯的收入。就需要使用這種方式進(jìn)行引入新的用戶到native app中。
一些內(nèi)容在網(wǎng)頁端體驗不好,或者一些功能需要app內(nèi)才能實現(xiàn),以及能留住用戶,就需要將用戶引入app中。
點擊網(wǎng)頁按鈕打開app并自動跳到相應(yīng)頁面。
首先,這個方法僅適用于移動端h5頁面,一般的智能機都是可以使用的。這里使用的是es5的代碼模式,容易理解。
這次換一種有趣的方式來整理前端知識,也是第一次嘗試,以微信對話的方式來展示前端知識,讓技術(shù)知識不那么枯燥。希望大家也能留下一些意見或建議。技術(shù)需要互動感。
那開啟今天的內(nèi)容吧。
以柯南和小哀為聊天對象開啟前端知識分享。
(做這個還是有難度的,所以也別羨慕有2個微信號的人
,其實用的也不是2個微信號。)
我們來看看如何使用移動端瀏覽器的某個特性:
網(wǎng)頁端通過訪問app協(xié)議打開,其實利用的是app的url scheme方式。
如果有安裝app,那么協(xié)議請求便會被app檢測到。app打開期間,app界面會覆蓋h5網(wǎng)頁。所以訪問打開app地址放在下載后面延遲執(zhí)行,用戶就看不到下載的跳轉(zhuǎn)了。
如果未安裝app,那協(xié)議請求就不會有任何效果。便會繼續(xù)執(zhí)行,直到跳轉(zhuǎn)頁面下載。
首先要通過UA判斷當(dāng)前瀏覽器UA 并轉(zhuǎn)大寫。用來分別針對安卓和ios機型做2種不一樣的處理。
根據(jù)UA判斷的安卓還是ios機型,分別做處理。
安卓設(shè)備:
通過隱藏iframe方式實現(xiàn)。iframe中請求協(xié)議啟動地址,創(chuàng)建iframe需要時間,延遲一點時間,將iframe加入dom,產(chǎn)生請求。
如果app已安裝,瀏覽器就會彈出一個提示框,問用戶是否啟動app。
如果未安裝,瀏覽器等待一秒后就會去下載。
之所以使用iframe,為了防止location跳轉(zhuǎn)后,js請求中斷,跳入空白頁。
代碼中的Data.now()-t < 1200,只所以是1200,其實也是一個估計值,為了大部分解決一些已經(jīng)安裝的app,1秒后還是會跳轉(zhuǎn)下載。因為打開app的瞬間,瀏覽器界面被app界面覆蓋。但js未停止執(zhí)行,延遲后還是會在后臺打開下載頁,只是被遮擋了。
IOS設(shè)備:
首先,ios瀏覽器已經(jīng)不支持再使用iframe了,所以上面的方式不適合用在ios上。
因此,這里只能采用location的方式。
如果安裝了app,ios瀏覽器打開app協(xié)議前就會彈出個框,提示是否打開。
如果沒有安裝,就不會彈出這個提示。
總結(jié)
以上是生活随笔為你收集整理的移动app部分机型无法唤起h5支付宝支付_用这段代码对App说:喂,醒醒!App,到你出场了!...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win10系统ie浏览器如何打开
- 下一篇: 最简单的卸载vrv方法_低端赤道仪粗对极