uniapp使用webview內(nèi)嵌H5的注意事項詳解
一、描述
uniapp項目中構(gòu)建app,需要內(nèi)嵌H5頁面,在使用webview時,遇到了以下幾個問題:
- 內(nèi)嵌H5,默認(rèn)全屏顯示;
- 內(nèi)嵌頁面遮擋住了app的自定義tabbar組件;
- 樣式修改無效;
二、解決方案:
webview-style設(shè)置的樣式,針對app生效,style的定義方式兼容web;
<view class="page"> <web-view :src="url" class="webview" allow :fullscreen="false" :webview-styles="style" :frameBorder="0" style="width: 100%; height: calc(100% - 10px)"> </web-view> </view>
const style = reactive({ width: '100%', height: '100%', bottom: '56px' }); uni.getSystemInfo({ success: (res) => { console.log(res); style.height = res.screenHeight - res.statusBarHeight - res.safeAreaInsets?.bottom - 100 + 'px'; style.bottom = res.safeAreaInsets?.bottom + 56 + 'px'; } });
三、經(jīng)驗&結(jié)論
關(guān)于webview的使用,除了了解相關(guān)屬性,其中webview-style才對app生效,值得關(guān)注。
web-view
是一個 web 瀏覽器組件,可以用來承載網(wǎng)頁的容器,會自動鋪滿整個頁面(nvue 使用需要手動指定寬高)。
各小程序平臺,web-view 加載的 url 需要在后臺配置域名白名單,包括內(nèi)部再次 iframe 內(nèi)嵌的其他 url 。
屬性說明
屬性名 | 類型 | 說明 | 平臺差異說明 |
---|---|---|---|
src | String | webview 指向網(wǎng)頁的鏈接 | |
allow | String | 用于為 iframe 指定其特征策略 | H5 |
sandbox | String | 該屬性對呈現(xiàn)在 iframe 框架中的內(nèi)容啟用一些額外的限制條件。 | H5 |
fullscreen | Boolean | 是否鋪滿整個頁面,默認(rèn)值:true 。 | H5 (HBuilder X 3.5.4+) |
webview-styles | Object | webview 的樣式 | App-vue |
update-title | Boolean | 是否自動更新當(dāng)前頁面標(biāo)題。默認(rèn)值:true | App-vue (HBuilder X 3.3.8+) |
@message | EventHandler | 網(wǎng)頁向應(yīng)用 postMessage 時,會在特定時機(后退、組件銷毀、分享)觸發(fā)并收到消息。 | H5 暫不支持(可以直接使用 window.postMessage) |
@onPostMessage | EventHandler | 網(wǎng)頁向應(yīng)用實時 postMessage | App-nvue |
@load | EventHandler | 網(wǎng)頁加載成功時候觸發(fā)此事件。 | 微信小程序、支付寶小程序、抖音小程序、QQ小程序 |
@error | EventHandler | 網(wǎng)頁加載失敗的時候觸發(fā)此事件。 | 微信小程序、支付寶小程序、抖音小程序、QQ小程序 |
注意
update-title
僅支持App-vue
。小程序
恒為true
,H5、nvue
恒為false
src
來源 | App | H5 | 微信小程序 | 支付寶小程序 | 百度小程序 | 抖音小程序、飛書小程序 | QQ小程序 | 快應(yīng)用 | 360小程序 | 快手小程序 | 京東小程序 |
---|---|---|---|---|---|---|---|---|---|---|---|
網(wǎng)絡(luò) | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ |
本地 | √ | √ | x | x | x | x | x | x | x | x | x |
webview-styles
屬性 | 類型 | 說明 |
---|---|---|
progress | Object/Boolean | 進度條樣式。僅加載網(wǎng)絡(luò) HTML 時生效,設(shè)置為 false 時禁用進度條。 |
width | String | web-view 組件的寬度。 |
height | String | web-view 組件的高度。 |
總結(jié)
到此這篇關(guān)于uniapp使用webview內(nèi)嵌H5的注意事項的文章就介紹到這了,更多相關(guān)uniapp使用webview內(nèi)嵌H5內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在Vue3中實現(xiàn)四種全局狀態(tài)數(shù)據(jù)的統(tǒng)一管理的方法
在開發(fā)中,通常遇到四種全局狀態(tài)數(shù)據(jù):異步數(shù)據(jù)、同步數(shù)據(jù),傳統(tǒng)的Vue3使用不同機制處理這些數(shù)據(jù),而Zova框架通過Model機制來統(tǒng)一管理,簡化了數(shù)據(jù)處理流程,提高了代碼的可維護性,本文介紹在Vue3中實現(xiàn)四種全局狀態(tài)數(shù)據(jù)的統(tǒng)一管理的方法,感興趣的朋友一起看看吧2024-10-10Vue實現(xiàn)點擊當(dāng)前元素以外的地方隱藏當(dāng)前元素(實現(xiàn)思路)
這篇文章主要介紹了Vue實現(xiàn)點擊當(dāng)前元素以外的地方隱藏當(dāng)前元素,文中給大家擴展了vue實現(xiàn)點擊其他地方隱藏div的三種方法,需要的朋友可以參考下2019-12-12vue element el-form 多級嵌套驗證的實現(xiàn)示例
本文主要介紹了vue element el-form 多級嵌套驗證的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08Vue中commit和dispatch區(qū)別及用法辨析(最新)
在Vue中,commit和dispatch是兩個用于觸發(fā)Vuex store中的mutations和actions的方法,這篇文章主要介紹了Vue中commit和dispatch區(qū)別及其用法辨析,需要的朋友可以參考下2024-06-06vue-element-admin如何轉(zhuǎn)換成中文
這篇文章主要介紹了vue-element-admin如何轉(zhuǎn)換成中文問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03ant design vue 表格table 默認(rèn)勾選幾項的操作
這篇文章主要介紹了ant design vue 表格table 默認(rèn)勾選幾項的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10Props傳參v-for后TS報錯對象類型是unknow的解決方案
這篇文章主要介紹了Props傳參v-for后TS報錯對象類型是unknow的解決方案,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-03-03