前言
其實我們不管是從ios還是安卓都可以看出 原生app能內嵌H5的原因是因為有了webview這個app內嵌瀏覽器視圖,從而使得我們可以開發html然后加載到app中(原理幾乎跟pc端請求、加載、渲染是一樣的),一般的當我們將h5開發好后就可以有兩種方式請求到原生app中,一個是將html代碼放到服務器上,一個是放在當前app項目目錄中本地請求(一般用於調式)。
因此,可以看到內嵌其實並不難,難就難在要適配、原生與web交互、數據傳遞等,當然我們也可以使用vue來開發H5界面
一、如何實現交互?
答案是使用第三方插件JsBridge
1.通過js偽造請求---->原生攔截獲取數據
2.原生app---->H5界面
原理類似於jsonp 首先在js中定義一個函數並掛載在window下,然后在原生中調用這個函數並傳值
js部分:
原生部分:
一個簡單的demo
html部分:
原生部分:
一般的 WEB前端工程師是不會寫ios 和andirod的,那我們能不能直接使用js就能調用設備的功能呢 比如攝像頭 、二維碼掃描等,其實是可以的 可以使用以下第三方工具cordova 然后cordova plugins add 對應的插件就可以在js中調用設備功能了
cordova 官方文檔:https://cordova.apache.org/docs/en/latest/
原文:https://blog.csdn.net/weixin_41421227/article/details/90473865