簡述
在開發的工作中,可能存在一個場景,我們有一個問卷調查的h5頁面,需要切入到app 中。這個時候,就需要從app 端操作,切換到web端操作。不管是安卓、ios、小程序都提供有web組件。那么harmonyos 中也提供web組件來在應用內加載瀏覽器
語法
web(options:{src:string, controller?:WebController})
src
設置網頁資源地址,可以是本地資源,也可以是網絡資源;
- 本地資源
src:$rawfile(‘index.html’) - 網絡資源
網絡資源需添加網絡權限:ohos.permission.INTERNET
controller控制器
可以控制web組件的各種行為,如前進、后退等操作
forward
按照歷史棧,前進一個頁面
backward
按照歷史棧,后退一個頁面
runJavaScript
異步執行javascript腳本,病通過回調方式返回腳本執行的結果
- 在main/resource/rawfile目錄下新建index.html頁面
function test(){console.log(111)
}
- web組件調用runJavaScript方法可以執行html中的javascript腳本
controller: WebController = new WebController();
Button().onclick(()=>{this.controller.runJavaScript({script: 'test()'})
})
支持的屬性
-
fileAccess
fileAccess(boolean): 設置是否開啟通過$rawfile(‘filepath/filename’)訪問應用中的rawfile路徑的文件。默認時啟用 -
javaScriptAccess
javaScriptAccess(boolean): 設置是否運行執行javascript腳本 -
imageAccess
imageAccess(boolean): 設置是否允許自動加載圖片資源 -
zoomAccess
zoomAccess(boolean): 用于設置是否支持手勢進行縮放,默認允許執行縮放;但是這個要求,網頁自身支持縮放,這個屬性才會生效。 -
textZoomAtio
textZoomAtio(number): 用于設置頁面的文本縮放百分比,默認值為100,表示100%。
支持方法
- onConfirm
- onAlert
- onBeforeUnload
- onConsole