移動端H5與原生JavaScript是如何交互的?

2021-02-08    分類: 網站建設

隨著移動端互聯網的發展,越來越的APP運用到H5,可移動端H5與原生JavaScript是如何交互的呢?


JavaScript調用Native的方式,主要有兩種:注入API和攔截URL SCHEME。

1、Android的處理方式

Android中,就是新建一個類,里面寫提供給H5操作的方法,并規定別名。

在安卓4.2以上可以直接使用@JavascriptInterface注解來聲明。

定義完這個方法后再調用mWebView.addJavascriptInterface()方法。

將方法注入在window中,H5調用時,根據“window. 別名.方法”來調用。


2、IOS的處理方式

IOS是利用WKWebView的新特性MessageHandler來實現JS調用原生方法的。

WKWebView初始化時,創建WKWebViewConfiguration對象,配置各個接口對應的MessageHandler,然后再接受js傳遞的參數調用接口。

H5中調用時,使用window.webkit.messageHandlers.接口名. postMessage(參數)。


攔截 URL SCHEME

攔截URL SCHEME的主要流程是:Web端通過某種方式(例如iframe.src)發送URL Scheme 請求,之后Native攔截到請求并根據URL SCHEME(包括所帶的參數)進行相關操作。

在這個過程中,這種方式有一定的缺陷:

  • 使用iframe.src發送URL SCHEME會有URL長度的隱患,而且特殊字符需要編碼解碼。
  • 創建請求,需要一定的耗時,比注入API的方式調用同樣的功能,耗時會較長。

分享標題:移動端H5與原生JavaScript是如何交互的?
標題路徑:http://m.kartarina.com/news37/99837.html

成都網站建設公司_創新互聯,為您提供移動網站建設靜態網站網站制作面包屑導航虛擬主機網站設計

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網頁設計公司
主站蜘蛛池模板: 久久亚洲精品无码播放| 无码无遮挡又大又爽又黄的视频| 无码国产伦一区二区三区视频 | 成人免费无码大片A毛片抽搐色欲| 人妻丝袜中文无码av影音先锋专区| 中文字幕亚洲精品无码| 无码人妻精品一区二| 色欲A∨无码蜜臀AV免费播| 亚洲?v无码国产在丝袜线观看| 亚洲av无码国产精品色午夜字幕 | 无码人妻久久一区二区三区 | 中文字幕av无码无卡免费| 国产免费AV片无码永久免费| 人妻丝袜中文无码av影音先锋专区| 无码喷水一区二区浪潮AV| 久久久无码精品亚洲日韩按摩 | 久久久无码精品亚洲日韩京东传媒| 国产成人无码A区精油按摩| 亚洲AV无码国产丝袜在线观看| 久久久精品人妻无码专区不卡| 无码精品A∨在线观看十八禁| 暴力强奷在线播放无码| 无码AV一区二区三区无码| 99久久人妻无码精品系列蜜桃| 无码av免费一区二区三区| 国产日韩AV免费无码一区二区| 日韩精品无码免费视频| 精品亚洲av无码一区二区柚蜜| 日韩亚洲AV无码一区二区不卡| 无码人妻精品一区二区三区在线| 免费一区二区无码东京热| 日韩人妻无码免费视频一区二区三区| 中文字幕无码视频手机免费看| 亚洲Av无码专区国产乱码DVD| 国产成人无码AⅤ片在线观看| 亚洲精品无码久久久久AV麻豆| 国产精品无码av片在线观看播| 无码人妻精品内射一二三AV| 亚洲人成网亚洲欧洲无码| 精品无码一区二区三区电影| 精品少妇无码AV无码专区|