未验证 提交 3b438c6b 编写于 作者: O openharmony_ci 提交者: Gitee

!16011 Web组件加载沙箱路径下文件资源(3.2Release)

Merge pull request !16011 from 李想/OpenHarmony-3.2-Release
......@@ -3207,7 +3207,7 @@ static getCookie(url: string): string
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | :------------------------ |
| url | string | 是 | 要获取的cookie所属的url。 |
| url | string | 是 | 要获取的cookie所属的url,建议使用完整的url。 |
**返回值:**
......@@ -3263,7 +3263,7 @@ static setCookie(url: string, value: string): void
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | :------------------------ |
| url | string | 是 | 要设置的cookie所属的url。 |
| url | string | 是 | 要设置的cookie所属的url,建议使用完整的url。 |
| value | string | 是 | 要设置的cookie的值。 |
**错误码:**
......
......@@ -27,7 +27,7 @@ Web(options: { src: ResourceStr, controller: WebviewController | WebController})
| 参数名 | 参数类型 | 必填 | 参数描述 |
| ---------- | ---------------------------------------- | ---- | ------- |
| src | [ResourceStr](ts-types.md) | 是 | 网页资源地址。 |
| src | [ResourceStr](ts-types.md) | 是 | 网页资源地址。如果加载应用包外沙箱路径的本地资源文件,请使用file://沙箱文件路径。 |
| controller | [WebviewController<sup>9+</sup>](../apis/js-apis-webview.md#webviewcontroller) \| [WebController](#webcontroller) | 是 | 控制器。从API Version 9开始,WebController不在维护,建议使用WebviewController替代。 |
**示例:**
......@@ -66,6 +66,43 @@ Web(options: { src: ResourceStr, controller: WebviewController | WebController})
}
```
加载沙箱路径下的本地资源文件
1.通过[globalthis](../../application-models/uiability-data-sync-with-ui.md#uiability和page之间使用globalthis)获取沙箱路径。
```ts
// xxx.ets
import web_webview from '@ohos.web.webview'
let url = 'file://' + globalThis.filesDir + '/xxx.html'
@Entry
@Component
struct WebComponent {
controller: web_webview.WebviewController = new web_webview.WebviewController()
build() {
Column() {
// 加载沙箱路径文件。
Web({ src: url, controller: this.controller })
}
}
}
```
2.修改MainAbility.ts。
以filesDir为例,获取沙箱路径。若想获取其他路径,请参考[应用开发路径](../../application-models/application-context-stage.md#获取应用开发路径)
```ts
// xxx.ts
import UIAbility from '@ohos.app.ability.UIAbility';
import web_webview from '@ohos.web.webview';
export default class EntryAbility extends UIAbility {
onCreate(want, launchParam) {
// 通过在globalThis对象上绑定filesDir,可以实现UIAbility组件与UI之间的数据同步。
globalThis.filesDir = this.context.filesDir
console.log("Sandbox path is " + globalThis.filesDir)
}
}
```
```html
<!-- index.html -->
<!DOCTYPE html>
......@@ -4473,7 +4510,7 @@ setCookie(url: string, value: string): boolean
| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
| ----- | ------ | ---- | ---- | ----------------- |
| url | string | 是 | - | 要设置的cookie所属的url。 |
| url | string | 是 | - | 要设置的cookie所属的url,建议使用完整的url。 |
| value | string | 是 | - | cookie的值。 |
**返回值:**
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册