AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當前位置:首頁 > 科技  > 軟件

淺談ArkUI之Web組件的基礎用法

來源: 責編: 時間:2024-01-02 09:31:36 244觀看
導讀想了解更多關于開源的內容,請訪問:51CTO 開源基礎軟件社區https://ost.51cto.com最近研究了ArkUI中的一些常用組件,其中Web組件是很常用且相對獨立的一種組件。本文總結了Web組件的常用函數,以及基本用法。先來一個AI畫的

tiP28資訊網——每日最新資訊28at.com

想了解更多關于開源的內容,請訪問:tiP28資訊網——每日最新資訊28at.com

51CTO 開源基礎軟件社區tiP28資訊網——每日最新資訊28at.com

https://ost.51cto.comtiP28資訊網——每日最新資訊28at.com

最近研究了ArkUI中的一些常用組件,其中Web組件是很常用且相對獨立的一種組件。本文總結了Web組件的常用函數,以及基本用法。先來一個AI畫的Web組件助助興(好吧,不能說毫無關系,只能說一點也不像):tiP28資訊網——每日最新資訊28at.com

tiP28資訊網——每日最新資訊28at.com

在ArkUI中,Web組件用于顯示Web網頁,可以理解為一個嵌入式的小型瀏覽器,用于展示Web內容,實現Web的混合開發。例如,在API 9中目前還沒有地圖組件可用,那么我們就可以借助Web組件顯示OpenLayers、OSM等提供的地圖空間和地圖服務。據說ArkUI的Web組件采用了chromium內核,應當還是非常高效的。tiP28資訊網——每日最新資訊28at.com

1、開發環境要求

● DevEco Studio版本:DevEco Studio 3.1 Release
● HarmonyOS SDK版本:API version 9tiP28資訊網——每日最新資訊28at.com

2、基本用法

使用Web組件分為3個基本步驟:tiP28資訊網——每日最新資訊28at.com

導入WebView庫。
import webview from '@ohos.web.webview';

創建Web視圖控制器(WebViewController):通過Web視圖控制器可以對Web組件的顯示內容進行控制,實現加載、交互等操作。tiP28資訊網——每日最新資訊28at.com

webCtr : webview.WebviewController = new webview.WebviewController();

創建Web組件:在創建Web組件時可以傳入默認加載地址和控制器對象。比如,默認加載百度網站的首頁,代碼如下:tiP28資訊網——每日最新資訊28at.com

Web({src : "https://m.baidu.com", controller : this.webCtr})

此時,這個Web組件就和webCtr對象綁定在一起了。開發者就可以通過webCtr對象的方法對Web組件中的內容進行控制了。
不要忘了,訪問網站時需要添加互聯網訪問權限。在entry模塊下的module.json5文件中,添加ohos.permission.INTERNET權限,代碼如下:tiP28資訊網——每日最新資訊28at.com

{  "module": {    ...    "requestPermissions": [      {"name": "ohos.permission.INTERNET"}    ], ...  } ...}

隨后,運行程序就可以顯示相應的頁面了,顯示效果如下:tiP28資訊網——每日最新資訊28at.com

tiP28資訊網——每日最新資訊28at.com

3、頁面加載

加載互聯網頁面的代碼如下:tiP28資訊網——每日最新資訊28at.com

this.webCtr.loadUrl('m.bilibili.com');

加載本地頁面的代碼如下:tiP28資訊網——每日最新資訊28at.com

this.webCtr.loadUrl($rawfile("test.html"));

前提是需要將test.html加入到entry/src/main/resources/rawfile目錄下。
當然,還可以通過loadData函數加載HTML代碼,這種方式通常用于顯示簡單的數據。例如,通過loadData顯示“Hello, HarmonyOS”,代碼如下:tiP28資訊網——每日最新資訊28at.com

this.controller.loadData("<html><body>Hello, <b>Harmony<span style="text-decoration:underline;">O</span>S</b></body></html>","text/html","UTF-8");

loadData有3個參數,第一個是文本代碼,第二個用于指定文本代碼的格式,如text/html、text/plain等;第三個是字符編碼方式,如UTF-8、GB2312、GBK等tiP28資訊網——每日最新資訊28at.com

顯示效果如所示:tiP28資訊網——每日最新資訊28at.com

#星計劃#淺談ArkUI之Web組件的基礎用法-鴻蒙開發者社區#星計劃#淺談ArkUI之Web組件的基礎用法-鴻蒙開發者社區tiP28資訊網——每日最新資訊28at.com

4、頁面交互

頁面交互包括在ArkTS中執行Web組件中的JavaScript函數以及對象注入等2個主要功能。另外,還可以通過createWebMessagePorts函數創建消息端口來實現Web組件和ArkTS語言環境的數據通信,輕松實現數據傳遞。tiP28資訊網——每日最新資訊28at.com

調用JavaScript函數。
通過runJavaScript函數就可以輕松實現前端函數的調用,代碼如下:tiP28資訊網——每日最新資訊28at.com

this.webviewController.runJavaScript('run()');

當然,前端要提前設計好run()函數才可以正常運行。tiP28資訊網——每日最新資訊28at.com

對象注入。
所謂對象注入,就是將ArkTS的對象注入到Web組件的前端代碼中。例如,在ArkTS中定義Test類,代碼如下:tiP28資訊網——每日最新資訊28at.com

class Test {  constructor() {  }  hello(): string {    return "Hello, JavaScript!";  }  toString(): void {    console.log('This is from ArkTS');  }}

創建Test類的實例,代碼如下:tiP28資訊網——每日最新資訊28at.com

@State test: Test = new Test();

最后,即可通過Web組件的javaScriptProxy函數將test對象注入到前端代碼中:tiP28資訊網——每日最新資訊28at.com

Web({ ... })  .javaScriptProxy({    object: this.test,    name: "jsTest",    methodList: ["hello", "toString"],    controller: this.webCtr})

其中,object用于指定需要注入的對象;name表示注入后的對象名稱;methodList用于聲明注入對象的函數;controller指定了Web視圖控制器。
當然,還可以通過WebViewController的registerJavaScriptProxy函數注入對象,代碼如下:tiP28資訊網——每日最新資訊28at.com

this.webCtr.registerJavaScriptProxy(this.test, "jsTest", ["hello", "toString"]);

隨后,在前端就可以訪問到jsTest對象,代碼如下:tiP28資訊網——每日最新資訊28at.com

let str = jsTest.hello();let st2 = jsTest.toString();

5、頁面調試

在DevEco Studio中,通過DevTools工具可以很輕松地對Web組件中的頁面進行調試,不過,需要通過setWebDebuggingAccess函數開啟調試模式,代碼如下:tiP28資訊網——每日最新資訊28at.com

this.webCtr.setWebDebuggingAccess(true);

隨后,通過以下命令在電腦端配置映射,如下所示:tiP28資訊網——每日最新資訊28at.com

// 添加映射 hdc fport tcp:9222 tcp:9222 // 查看映射 hdc fport ls

映射建立成功后,就可以通過Chrome、Edge等瀏覽器通過USB線對Web頁面進行調試了。在頁面中輸入地址chrome://inspect/#devices,即可調試Web組件中的界面了。tiP28資訊網——每日最新資訊28at.com

tiP28資訊網——每日最新資訊28at.com

想了解更多關于開源的內容,請訪問:tiP28資訊網——每日最新資訊28at.com

51CTO 開源基礎軟件社區tiP28資訊網——每日最新資訊28at.com

https://ost.51cto.comtiP28資訊網——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-55263-0.html淺談ArkUI之Web組件的基礎用法

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 淺談ArkUI之Web組件的基礎用法

下一篇: Spring事務長了個腿?輕松掌握技巧告別長事務煩惱!

標簽:
  • 熱門焦點
  • 2023 年的 Node.js 生態系統

    隨著技術的不斷演進和創新,Node.js 在 2023 年達到了一個新的高度。Node.js 擁有一個龐大的生態系統,可以幫助開發人員更快地實現復雜的應用。本文就來看看 Node.js 最新的生
  • 在線圖片編輯器,支持PSD解析、AI摳圖等

    自從我上次分享一個人開發仿造稿定設計的圖片編輯器到現在,不知不覺已過去一年時間了,期間我經歷了裁員失業、面試找工作碰壁,寒冬下一直沒有很好地履行計劃.....這些就放在日
  • 花7萬退貨退款無門:誰在縱容淘寶珠寶商家造假?

    來源:極點商業作者:楊銘在淘寶購買珠寶玉石后,因為保證金不夠賠付,店鋪關閉,退貨退款難、維權無門的比比皆是。&ldquo;提供相關產品鑒定證書,支持全國復檢,可以30天無理由退換貨。&
  • 品牌洞察丨服務本地,美團直播成效幾何?

    來源:17PR7月11日,美團App首頁推薦位出現&ldquo;美團直播&rdquo;的固定入口。在直播聚合頁面,外賣&ldquo;神槍手&rdquo;直播間、美團旅行直播間、美團買菜直播間等均已上線,同時
  • 東方甄選單飛:有些鳥注定是關不住的

    文/彭寬鴻編輯/羅卿東方甄選創始人俞敏洪帶隊的&ldquo;7天甘肅行&rdquo;直播活動已在近日順利收官。成立后一年多時間里,東方甄選要脫離抖音自立門戶的傳聞不絕于耳,&ldquo;7
  • 造車兩年股價跌六成,小米的估值邏輯變了嗎?

    如果從小米官宣造車后的首個交易日起持有小米集團的股票,那么截至2023年上半年最后一個交易日,投資者將浮虧59.16%,同區間的恒生科技指數跌幅為52.78%
  • 疑似小米14外觀設計圖曝光:后置相機模組變化不大

    下半年的大幕已經開啟,而誰將成為下半年手機圈的主角就成為了大家關注的焦點,其中被傳有望拿下新一代驍龍8 Gen3旗艦芯片的小米14系列更是備受大家矚
  • Windows 11發布,微軟一改往常對老機型開放的態度

    距離 Windows 11 發布已經過去一周,在過去一周里,很多數碼愛好者圍繞其對 Android 應用的支持、對老機型的升級問題展開了激烈討論。與以往不同的是,在這次大
  • 微軟發布Windows 11新版 引入全新任務欄狀態

    近日,微軟發布了Windows 11新版,而Build 22563更新主要引入了幾周前曝光的平板模式任務欄等,系統更流暢了。更新中,Windows 11加入了專門針對平板優化的任務欄
Top