移動端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/news/99837.html

成都網站建設公司_創新互聯,為您提供全網營銷推廣面包屑導航標簽優化靜態網站小程序開發動態網站

廣告

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

成都做網站
主站蜘蛛池模板: 日韩AV无码一区二区三区不卡毛片| 国产三级无码内射在线看| 无码精品A∨在线观看| 中文字幕日产无码| 国产精品白浆无码流出| 亚洲av无码精品网站| 丰满少妇被猛烈进入无码| 亚洲AV无码久久精品蜜桃| 少妇无码?V无码专区在线观看| 无码AV岛国片在线播放| 亚洲一区无码中文字幕| 九九在线中文字幕无码| 亚洲A∨无码一区二区三区 | 伊人久久综合无码成人网| 日韩精品久久无码中文字幕| yy111111电影院少妇影院无码| 亚洲av无码成人影院一区 | 亚洲av无码国产精品色午夜字幕| 午夜无码人妻av大片色欲| 亚洲精品无码少妇30P| 亚洲va无码va在线va天堂| 欧洲精品无码一区二区三区在线播放 | 高清无码v视频日本www| 无码一区二区三区视频| 亚洲AV综合色区无码另类小说| 无码精品人妻一区二区三区免费| 国产精品亚洲专区无码WEB| 无码夫の前で人妻を侵犯 | 亚洲AV无码片一区二区三区| 无码国产福利av私拍| 国产精品亚韩精品无码a在线| 日韩AV高清无码| 人妻AV中出无码内射| 中文字幕无码乱人伦| 中文无码久久精品| 久久久久亚洲AV成人无码网站| 亚洲中文字幕无码永久在线| 亚洲中文字幕无码一区二区三区| 亚洲av永久无码精品网站 | 日产无码1区2区在线观看| 无码人妻少妇伦在线电影|