W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
頁面加載是Web組件的基本功能。根據(jù)頁面加載數(shù)據(jù)來源可以分為三種常用場景,包括加載網(wǎng)絡(luò)頁面、加載本地頁面、加載HTML格式的富文本數(shù)據(jù)。
頁面加載過程中,若涉及網(wǎng)絡(luò)資源獲取,需要配置ohos.permission.INTERNET網(wǎng)絡(luò)訪問權(quán)限。
開發(fā)者可以在Web組件創(chuàng)建的時候指定默認(rèn)加載的網(wǎng)絡(luò)頁面 。在默認(rèn)頁面加載完成后,如果開發(fā)者需要變更此Web組件顯示的網(wǎng)絡(luò)頁面,可以通過調(diào)用loadUrl()接口加載指定網(wǎng)絡(luò)網(wǎng)頁。
在下面的示例中,在Web組件加載完“www.example.com”頁面后,開發(fā)者可通過loadUrl接口將此Web組件顯示頁面變更為“www.example1.com”。
- // xxx.ets
- import web_webview from '@ohos.web.webview';
- @Entry
- @Component
- struct WebComponent {
- webviewController: web_webview.WebviewController = new web_webview.WebviewController();
- build() {
- Column() {
- Button('loadUrl')
- .onClick(() => {
- try {
- // 點擊按鈕時,通過loadUrl,跳轉(zhuǎn)到www.example1.com
- this.webviewController.loadUrl('www.example1.com');
- } catch (error) {
- console.error(`ErrorCode: ${error.code}, Message: ${error.message}`);
- }
- })
- // 組件創(chuàng)建時,加載www.example.com
- Web({ src: 'www.example.com', controller: this.webviewController})
- }
- }
- }
將本地頁面文件放在應(yīng)用的rawfile目錄下,開發(fā)者可以在Web組件創(chuàng)建的時候指定默認(rèn)加載的本地頁面 ,并且加載完成后可通過調(diào)用loadUrl()接口變更當(dāng)前Web組件的頁面。
在下面的示例中展示加載本地頁面文件的方法:
- // xxx.ets
- import web_webview from '@ohos.web.webview';
- @Entry
- @Component
- struct WebComponent {
- webviewController: web_webview.WebviewController = new web_webview.WebviewController();
- build() {
- Column() {
- Button('loadUrl')
- .onClick(() => {
- try {
- // 點擊按鈕時,通過loadUrl,跳轉(zhuǎn)到local1.html
- this.webviewController.loadUrl($rawfile("local1.html"));
- } catch (error) {
- console.error(`ErrorCode: ${error.code}, Message: ${error.message}`);
- }
- })
- // 組件創(chuàng)建時,通過$rawfile加載本地文件local.html
- Web({ src: $rawfile("local.html"), controller: this.webviewController })
- }
- }
- }
- <!-- local.html -->
- <!DOCTYPE html>
- <html>
- <body>
- <p>Hello World</p>
- </body>
- </html>
Web組件可以通過loadData接口實現(xiàn)加載HTML格式的文本數(shù)據(jù)。當(dāng)開發(fā)者不需要加載整個頁面,只需要顯示一些頁面片段時,可通過此功能來快速加載頁面。
- // xxx.ets
- import web_webview from '@ohos.web.webview';
- @Entry
- @Component
- struct WebComponent {
- controller: web_webview.WebviewController = new web_webview.WebviewController();
- build() {
- Column() {
- Button('loadData')
- .onClick(() => {
- try {
- // 點擊按鈕時,通過loadData,加載HTML格式的文本數(shù)據(jù)
- this.controller.loadData(
- "<html><body bgcolor=\"white\">Source:<pre>source</pre></body></html>",
- "text/html",
- "UTF-8"
- );
- } catch (error) {
- console.error(`ErrorCode: ${error.code}, Message: ${error.message}`);
- }
- })
- // 組件創(chuàng)建時,加載www.example.com
- Web({ src: 'www.example.com', controller: this.controller })
- }
- }
- }
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: