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