網(wǎng)站怎么做播放器促銷活動(dòng)推廣語言
1. Web組件概述
Web組件
用于在應(yīng)用程序中顯示Web
頁面內(nèi)容,為開發(fā)者提供頁面加載、頁面交互、頁面調(diào)試等能力。
-
頁面加載:
Web組件
提供基礎(chǔ)的前端頁面加載
的能力,包括:加載網(wǎng)絡(luò)頁面、本地頁面、html格式文本數(shù)據(jù)。 -
頁面交互:
Web組件
提供豐富的頁面交互
的方式,包括:設(shè)置前端頁面深色模式,新窗口中加載頁面,位置權(quán)限管理,Cookie管理,應(yīng)用側(cè)使用前端頁面JavaScript等能力。 -
頁面調(diào)試:
Web組件
支持使用Devtools
工具調(diào)試前端頁面
。
2.?Web使用
頁面加載是Web組件的基本功能。根據(jù)頁面加載數(shù)據(jù)來源可以分為三種常用場景,包括加載網(wǎng)絡(luò)頁面
、加載本地頁面
、加載HTML格式的富文本數(shù)據(jù)
。 頁面加載過程中,若涉及網(wǎng)絡(luò)資源獲取,需要配置ohos.permission.INTERNET
網(wǎng)絡(luò)訪問權(quán)限。
2.1 加載網(wǎng)絡(luò)頁面
可以在Web組件
創(chuàng)建時(shí),指定默認(rèn)加載的網(wǎng)絡(luò)頁面 。在默認(rèn)頁面加載完成后,如果需要變更此Web組件顯示的網(wǎng)絡(luò)頁面,可以通過調(diào)用loadUrl()
接口加載指定的網(wǎng)頁。
在下面的示例中,在Web組件
加載完“www.example.com”
頁面后,可通過loadUrl
接口將此Web組件
顯示頁面變更為“www.example1.com”
。
// xxx.ets
import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
?
@Entry
@Component
struct WebComponent {webviewController: web_webview.WebviewController = new web_webview.WebviewController();
?build() {Column() {Button('loadUrl').onClick(() => {try {// 點(diǎn)擊按鈕時(shí),通過loadUrl,跳轉(zhuǎn)到www.example1.comthis.webviewController.loadUrl('www.example1.com');} catch (error) {let e: business_error.BusinessError = error as business_error.BusinessError;console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);}})// 組件創(chuàng)建時(shí),加載www.example.comWeb({ src: 'www.example.com', controller: this.webviewController})}}
}
2.2 加載本地頁面
將本地頁面文件放在應(yīng)用的rawfile
目錄下,開發(fā)者可以在Web組件
創(chuàng)建的時(shí)候指定默認(rèn)加載的本地頁面 ,并且加載完成后可通過調(diào)用loadUrl()
接口變更當(dāng)前Web組件
的頁面。
在下面的示例中展示加載本地頁面文件的方法:
-
將資源文件放置在應(yīng)用的
resources/rawfile
目錄下。
-
應(yīng)用側(cè)代碼
// xxx.ets
import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
?
@Entry
@Component
struct WebComponent {webviewController: web_webview.WebviewController = new web_webview.WebviewController();
?build() {Column() {Button('loadUrl').onClick(() => {try {// 點(diǎn)擊按鈕時(shí),通過loadUrl,跳轉(zhuǎn)到local1.htmlthis.webviewController.loadUrl($rawfile("local1.html"));} catch (error) {let e: business_error.BusinessError = error as business_error.BusinessError;console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);}})// 組件創(chuàng)建時(shí),通過$rawfile加載本地文件local.htmlWeb({ src: $rawfile("local.html"), controller: this.webviewController })}}
}
-
local.html頁面代碼。
<!-- local.html -->
<!DOCTYPE html>
<html><body><p>Hello World</p></body>
</html>
場景
ets頁面中直接使用Web組件加載html文件也可以,無需使用LoadUrl也可以實(shí)現(xiàn)。
xx.ets:
import { webview } from '@kit.ArkWeb'@Entry
@Component
struct PreviewWebPage {webviewController = new webview.WebviewController()@StorageProp('topHeight') topHeight: number = 0build() {Navigation() {Column() {Web({ src: $rawfile('index.html'), controller: this.webviewController })}}.title('隱私政策').titleMode(NavigationTitleMode.Mini).padding({ top: this.topHeight })}
}
entry\src\main\resources\rawfile\index.html
<!doctype html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport"content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>隱私協(xié)議</title><style>body {padding: 15px;}</style>
</head>
<body>
<h1>面試寶典用戶協(xié)議</h1>
?
<h3>開發(fā)者處理的信息</h3>
<p>根據(jù)法律規(guī)定,開發(fā)者僅處理實(shí)現(xiàn)app功能所必要的信息。</p>
<ul><li>為了實(shí)現(xiàn)語音輸入等功能,開發(fā)者將在獲取你的明示同意后,訪問你的麥克風(fēng)。</li><li>為了保存打卡照片,開發(fā)者將在獲取你的明示同意后,使用你的相冊(僅寫入)權(quán)限。</li>
</ul>
?
<h3>第三方插件信息/SDK信息</h3>
<p>為實(shí)現(xiàn)特定功能,開發(fā)者可能會(huì)接入由第三方提供的插件/SDK。第三方插件/SDK的個(gè)人信息處理規(guī)則,請以其公示的官方說明為準(zhǔn)。</p>
?
<h3>你的權(quán)益</h3>
<p>關(guān)于你的個(gè)人信息,你可以通過以下方式與開發(fā)者聯(lián)系,行使查閱、復(fù)制、更正、刪除等法定權(quán)利。</p>
<p>若你在app中注冊了賬號,你可以通過以下方式與開發(fā)者聯(lián)系,申請注銷你在app中使用的賬號。在受理你的申請后,開發(fā)者承諾在十五個(gè)工作日內(nèi)完成核查和處理,并按照法律法規(guī)要求處理你的相關(guān)信息。</p>
<p>郵箱:zhoushugang@itcast.cn</p>
?
<h3>開發(fā)者對信息的存儲(chǔ)</h3>
<p>開發(fā)者承諾,除法律法規(guī)另有規(guī)定外,開發(fā)者對你的信息的保存期限應(yīng)當(dāng)為實(shí)現(xiàn)處理目的所必要的最短時(shí)間。</p>
?
<h3>信息的使用規(guī)則</h3>
<p>開發(fā)者將會(huì)在本指引所明示的用途內(nèi)使用收集的信息</p>
<p>如開發(fā)者使用你的信息超出本指引目的或合理范圍,開發(fā)者必須在變更使用目的或范圍前,再次以郵件方式告知并征得你的明示同意。</p>
?
<h3>信息對外提供</h3>
<p>開發(fā)者承諾,不會(huì)主動(dòng)共享或轉(zhuǎn)讓你的信息至任何第三方,如存在確需共享或轉(zhuǎn)讓時(shí),開發(fā)者應(yīng)當(dāng)直接征得或確認(rèn)第三方征得你的單獨(dú)同意。</p>
<p>開發(fā)者承諾,不會(huì)對外公開披露你的信息,如必須公開披露時(shí),開發(fā)者應(yīng)當(dāng)向你告知公開披露的目的、披露信息的類型及可能涉及的信息,并征得你的單獨(dú)同意。</p>
?
?
<strong>你認(rèn)為開發(fā)者未遵守上述約定,或有其他的投訴建議、或未成年人個(gè)人信息保護(hù)相關(guān)問題,可通過以下方式與開發(fā)者聯(lián)系;或者向微信進(jìn)行投訴。</strong>
?
更新日期:2025-11-16
生效日期:2023-11-16
?
<p>本app已對用戶的信息處理進(jìn)行了逐一、如實(shí)的說明,并保證如有變更會(huì)及時(shí)更新指引。</p>
</body>
</html>
2.3 加載HTML格式的文本數(shù)據(jù)
Web組件
可以通過loadData()
接口實(shí)現(xiàn)加載HTML格式的文本數(shù)據(jù)
。當(dāng)不需要加載整個(gè)頁面,只需要顯示一些頁面片段時(shí),可通過此功能來快速加載頁面。
// xxx.ets
import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
?
@Entry
@Component
struct WebComponent {controller: web_webview.WebviewController = new web_webview.WebviewController();
?build() {Column() {Button('loadData').onClick(() => {try {// 點(diǎn)擊按鈕時(shí),通過loadData,加載HTML格式的文本數(shù)據(jù)this.controller.loadData("<html><body bgcolor=\"white\">Source:<pre>source</pre></body></html>","text/html","UTF-8");} catch (error) {let e: business_error.BusinessError = error as business_error.BusinessError;console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);}})// 組件創(chuàng)建時(shí),加載www.example.comWeb({ src: 'www.example.com', controller: this.controller })}}
}