未验证 提交 8d4c24ad 编写于 作者: O openharmony_ci 提交者: Gitee

!13460 【web】新增allowWindowOpenMethod接口doc仓描述

Merge pull request !13460 from zhufenghao/master
......@@ -2,7 +2,7 @@
提供具有网页显示能力的Web组件。
> **说明:**
> **说明:**
>
> - 该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
> - 示例效果请以真机运行为准,当前IDE预览器不支持。
......@@ -1181,6 +1181,54 @@ struct WebComponent {
}
```
### allowWindowOpenMethod<sup>9+</sup>
allowWindowOpenMethod(flag: boolean)
设置网页是否可以通过JavaScript自动打开新窗口。
该属性为true时,可通过JavaScript自动打开新窗口。该属性为false时,用户行为仍可通过JavaScript自动打开新窗口,但非用户行为不能通过JavaScript自动打开新窗口。此处的用户行为是指用户在5秒内请求打开新窗口(window.open)。
该属性仅在[javaScriptAccess](#javascriptaccess)开启时生效。
该属性在[multiWindowAccess](#multiwindowaccess9)开启时打开新窗口,关闭时打开本地窗口。
该属性的默认值与系统属性persist.web.allowWindowOpenMethod.enabled 保持一致,如果未设置系统属性则默认值为false。
检查系统配置项persist.web.allowWindowOpenMethod.enabled 是否开启。
通过`hdc shell param get persist.web.allowWindowOpenMethod.enabled` 查看,若配置项为0或不存在,
可通过命令`hdc shell param set persist.web.allowWindowOpenMethod.enabled 1` 开启配置。
**参数:**
| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
| ------ | ------- | ---- | ----- | ------------------ |
| flag | boolean | 是 | 默认值与系统参数关联,当系统参数persist.web.allowWindowOpenMethod.enabled为true时,默认值为true, 否则为false | 网页是否可以通过JavaScript自动打开窗口。 |
**示例:**
```ts
// xxx.ets
import web_webview from '@ohos.web.webview'
@Entry
@Component
struct WebComponent {
controller: web_webview.WebviewController = new web_webview.WebviewController()
@State access: boolean = true
@State multiWindow: boolean = true
@State flag: boolean = true
build() {
Column() {
Web({ src: 'www.example.com', controller: this.controller })
.javaScriptAccess(this.access)
.multiWindowAccess(this.multiWindow)
.allowWindowOpenMethod(this.flag)
}
}
}
```
## 事件
不支持通用事件。
......@@ -1271,7 +1319,7 @@ onBeforeUnload(callback: (event?: { url: string; message: string; result: JsResu
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Web({ src: 'www.example.com', controller: this.controller })
......@@ -1332,7 +1380,7 @@ onConfirm(callback: (event?: { url: string; message: string; result: JsResult })
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Web({ src: 'www.example.com', controller: this.controller })
......@@ -1392,7 +1440,7 @@ onPrompt(callback: (event?: { url: string; message: string; value: string; resul
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Web({ src: 'www.example.com', controller: this.controller })
......@@ -1452,7 +1500,7 @@ onConsole(callback: (event?: { message: ConsoleMessage }) => boolean)
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Web({ src: 'www.example.com', controller: this.controller })
......@@ -1489,7 +1537,7 @@ onDownloadStart(callback: (event?: { url: string, userAgent: string, contentDisp
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Web({ src: 'www.example.com', controller: this.controller })
......@@ -1526,7 +1574,7 @@ onErrorReceive(callback: (event?: { request: WebResourceRequest, error: WebResou
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Web({ src: 'www.example.com', controller: this.controller })
......@@ -1570,7 +1618,7 @@ onHttpErrorReceive(callback: (event?: { request: WebResourceRequest, response: W
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Web({ src: 'www.example.com', controller: this.controller })
......@@ -1621,7 +1669,7 @@ onPageBegin(callback: (event?: { url: string }) => void)
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Web({ src: 'www.example.com', controller: this.controller })
......@@ -1654,7 +1702,7 @@ onPageEnd(callback: (event?: { url: string }) => void)
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Web({ src: 'www.example.com', controller: this.controller })
......@@ -1686,7 +1734,7 @@ onProgressChange(callback: (event?: { newProgress: number }) => void)
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Web({ src: 'www.example.com', controller: this.controller })
......@@ -1718,7 +1766,7 @@ onTitleReceive(callback: (event?: { title: string }) => void)
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Web({ src: 'www.example.com', controller: this.controller })
......@@ -1751,7 +1799,7 @@ onRefreshAccessedHistory(callback: (event?: { url: string, isRefreshed: boolean
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Web({ src: 'www.example.com', controller: this.controller })
......@@ -1783,7 +1831,7 @@ onRenderExited(callback: (event?: { renderExitReason: RenderExitReason }) => voi
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Web({ src: 'chrome://crash/', controller: this.controller })
......@@ -1871,7 +1919,7 @@ onResourceLoad(callback: (event: {url: string}) => void)
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Web({ src: 'www.example.com', controller: this.controller })
......@@ -1904,7 +1952,7 @@ onScaleChange(callback: (event: {oldScale: number, newScale: number}) => void)
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Web({ src: 'www.example.com', controller: this.controller })
......@@ -1942,7 +1990,7 @@ onUrlLoadIntercept(callback: (event?: { data:string | WebResourceRequest }) => b
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Web({ src: 'www.example.com', controller: this.controller })
......@@ -2050,7 +2098,7 @@ onHttpAuthRequest(callback: (event?: { handler: HttpAuthHandler, host: string, r
struct WebComponent {
controller: WebController = new WebController()
httpAuth: boolean = false
build() {
Column() {
Web({ src: 'www.example.com', controller: this.controller })
......@@ -2111,7 +2159,7 @@ onSslErrorEventReceive(callback: (event: { handler: SslErrorHandler, error: SslE
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Web({ src: 'www.example.com', controller: this.controller })
......@@ -2754,7 +2802,7 @@ getLineNumber(): number
获取ConsoleMessage的行数。
**返回值:**
**返回值:**
| 类型 | 说明 |
| ------ | -------------------- |
......@@ -2766,7 +2814,7 @@ getMessage(): string
获取ConsoleMessage的日志信息。
**返回值:**
**返回值:**
| 类型 | 说明 |
| ------ | ---------------------- |
......@@ -2778,7 +2826,7 @@ getMessageLevel(): MessageLevel
获取ConsoleMessage的信息级别。
**返回值:**
**返回值:**
| 类型 | 说明 |
| --------------------------------- | ---------------------- |
......@@ -2790,7 +2838,7 @@ getSourceId(): string
获取网页源文件路径和名字。
**返回值:**
**返回值:**
| 类型 | 说明 |
| ------ | ------------- |
......@@ -2860,7 +2908,7 @@ getErrorCode(): number
获取加载资源的错误码。
**返回值:**
**返回值:**
| 类型 | 说明 |
| ------ | ----------- |
......@@ -2872,7 +2920,7 @@ getErrorInfo(): string
获取加载资源的错误信息。
**返回值:**
**返回值:**
| 类型 | 说明 |
| ------ | ------------ |
......@@ -2888,7 +2936,7 @@ getResponseHeader() : Array\<Header\>
获取资源请求头信息。
**返回值:**
**返回值:**
| 类型 | 说明 |
| -------------------------- | ---------- |
......@@ -2900,7 +2948,7 @@ getRequestUrl(): string
获取资源请求的URL信息。
**返回值:**
**返回值:**
| 类型 | 说明 |
| ------ | ------------- |
......@@ -2912,7 +2960,7 @@ isMainFrame(): boolean
判断资源请求是否为主frame。
**返回值:**
**返回值:**
| 类型 | 说明 |
| ------- | ---------------- |
......@@ -2924,7 +2972,7 @@ isRedirect(): boolean
判断资源请求是否被服务端重定向。
**返回值:**
**返回值:**
| 类型 | 说明 |
| ------- | ---------------- |
......@@ -2936,7 +2984,7 @@ isRequestGesture(): boolean
获取资源请求是否与手势(如点击)相关联。
**返回值:**
**返回值:**
| 类型 | 说明 |
| ------- | -------------------- |
......@@ -2962,7 +3010,7 @@ getReasonMessage(): string
获取资源响应的状态码描述。
**返回值:**
**返回值:**
| 类型 | 说明 |
| ------ | ------------- |
......@@ -2974,7 +3022,7 @@ getResponseCode(): number
获取资源响应的状态码。
**返回值:**
**返回值:**
| 类型 | 说明 |
| ------ | ----------- |
......@@ -2986,7 +3034,7 @@ getResponseData(): string
获取资源响应数据。
**返回值:**
**返回值:**
| 类型 | 说明 |
| ------ | --------- |
......@@ -2998,7 +3046,7 @@ getResponseEncoding(): string
获取资源响应的编码。
**返回值:**
**返回值:**
| 类型 | 说明 |
| ------ | ---------- |
......@@ -3010,7 +3058,7 @@ getResponseHeader() : Array\<Header\>
获取资源响应头。
**返回值:**
**返回值:**
| 类型 | 说明 |
| -------------------------- | -------- |
......@@ -3022,7 +3070,7 @@ getResponseMimeType(): string
获取资源响应的媒体(MIME)类型。
**返回值:**
**返回值:**
| 类型 | 说明 |
| ------ | ------------------ |
......@@ -3138,7 +3186,7 @@ getTitle(): string
获取文件选择器标题。
**返回值:**
**返回值:**
| 类型 | 说明 |
| ------ | ---------- |
......@@ -3150,7 +3198,7 @@ getMode(): FileSelectorMode
获取文件选择器的模式。
**返回值:**
**返回值:**
| 类型 | 说明 |
| ---------------------------------------- | ----------- |
......@@ -3162,7 +3210,7 @@ getAcceptType(): Array\<string\>
获取文件过滤类型。
**返回值:**
**返回值:**
| 类型 | 说明 |
| --------------- | --------- |
......@@ -3174,7 +3222,7 @@ isCapture(): boolean
获取是否调用多媒体能力。
**返回值:**
**返回值:**
| 类型 | 说明 |
| ------- | ------------ |
......@@ -3581,7 +3629,7 @@ requestFocus()
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Button('requestFocus')
......@@ -3616,7 +3664,7 @@ accessBackward(): boolean
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Button('accessBackward')
......@@ -3652,7 +3700,7 @@ accessForward(): boolean
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Button('accessForward')
......@@ -3695,7 +3743,7 @@ accessStep(step: number): boolean
struct WebComponent {
controller: WebController = new WebController()
@State steps: number = 2
build() {
Column() {
Button('accessStep')
......@@ -3725,7 +3773,7 @@ backward(): void
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Button('backward')
......@@ -3754,7 +3802,7 @@ forward(): void
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Button('forward')
......@@ -3788,7 +3836,7 @@ backOrForward(step: number): void
struct WebComponent {
controller: WebController = new WebController()
@State step: number = -2
build() {
Column() {
Button('backOrForward')
......@@ -3824,7 +3872,7 @@ deleteJavaScriptRegister(name: string)
struct WebComponent {
controller: WebController = new WebController()
@State name: string = 'Object'
build() {
Column() {
Button('deleteJavaScriptRegister')
......@@ -3841,7 +3889,7 @@ deleteJavaScriptRegister(name: string)
getHitTest(): HitTestType
获取当前被点击区域的元素类型。
获取当前被点击区域的元素类型。
从API version 9开始不再维护,建议使用[getHitTest<sup>9+</sup>](../apis/js-apis-webview.md#gethittest)代替。
......@@ -3859,7 +3907,7 @@ getHitTest(): HitTestType
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Button('getHitTest')
......@@ -3892,7 +3940,7 @@ getHitTestValue(): HitTestValue
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Button('getHitTestValue')
......@@ -3926,7 +3974,7 @@ getWebId(): number
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Button('getWebId')
......@@ -3959,7 +4007,7 @@ getTitle(): string
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Button('getTitle')
......@@ -3992,7 +4040,7 @@ getPageHeight(): number
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Button('getPageHeight')
......@@ -4025,7 +4073,7 @@ getDefaultUserAgent(): string
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Button('getDefaultUserAgent')
......@@ -4069,7 +4117,7 @@ baseUrl为空时,通过”data“协议加载指定的一段字符串。
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Button('loadData')
......@@ -4113,7 +4161,7 @@ loadUrl(options: { url: string | Resource, headers?: Array\<Header\> })
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Button('loadUrl')
......@@ -4142,7 +4190,7 @@ onActive(): void
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Button('onActive')
......@@ -4171,7 +4219,7 @@ onInactive(): void
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Button('onInactive')
......@@ -4206,7 +4254,7 @@ zoom(factor: number): void
struct WebComponent {
controller: WebController = new WebController()
@State factor: number = 1
build() {
Column() {
Button('zoom')
......@@ -4238,7 +4286,7 @@ zoomIn(): boolean
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Button('zoomIn')
......@@ -4271,7 +4319,7 @@ zoomOut(): boolean
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Button('zoomOut')
......@@ -4301,7 +4349,7 @@ refresh()
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Button('refresh')
......@@ -4379,7 +4427,7 @@ registerJavaScriptProxy(options: { object: object, name: string, methodList: Arr
}
</script>
</html>
```
### runJavaScript<sup>(deprecated)</sup>
......@@ -4459,7 +4507,7 @@ stop()
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Button('stop')
......@@ -4488,7 +4536,7 @@ clearHistory(): void
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Button('clearHistory')
......@@ -4575,7 +4623,7 @@ getCookieManager(): WebCookie
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Button('getCookieManager')
......@@ -4915,7 +4963,7 @@ setCookie(url: string, value: string): boolean
| url | string | 是 | - | 要设置的cookie所属的url。 |
| value | string | 是 | - | cookie的值。 |
**返回值:**
**返回值:**
| 类型 | 说明 |
| ------- | ------------- |
......@@ -4929,7 +4977,7 @@ setCookie(url: string, value: string): boolean
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Button('setCookie')
......@@ -4962,7 +5010,7 @@ saveCookieSync(): boolean
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Button('saveCookieSync')
......@@ -5002,7 +5050,7 @@ getCookie(url: string): string
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Button('getCookie')
......@@ -5043,7 +5091,7 @@ setCookie(url: string, value: string): boolean
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Button('setCookie')
......@@ -5077,7 +5125,7 @@ saveCookieAsync(): Promise\<boolean>
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Button('saveCookieAsync')
......@@ -5116,7 +5164,7 @@ saveCookieAsync(callback: AsyncCallback\<boolean>): void
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Button('saveCookieAsync')
......@@ -5151,7 +5199,7 @@ isCookieAllowed(): boolean
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Button('isCookieAllowed')
......@@ -5185,7 +5233,7 @@ putAcceptCookieEnabled(accept: boolean): void
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Button('putAcceptCookieEnabled')
......@@ -5218,7 +5266,7 @@ isThirdCookieAllowed(): boolean
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Button('isThirdPartyCookieAllowed')
......@@ -5252,7 +5300,7 @@ putAcceptThirdPartyCookieEnabled(accept: boolean): void
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Button('putAcceptThirdPartyCookieEnabled')
......@@ -5285,7 +5333,7 @@ existCookie(): boolean
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Button('existCookie')
......@@ -5313,7 +5361,7 @@ deleteEntireCookie(): void
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Button('deleteEntireCookie')
......@@ -5340,7 +5388,7 @@ deleteSessionCookie(): void
@Component
struct WebComponent {
controller: WebController = new WebController()
build() {
Column() {
Button('deleteSessionCookie')
......@@ -5640,7 +5688,7 @@ setPorts(ports: Array\<WebMessagePort\>): void
struct WebComponent {
controller: WebController = new WebController()
ports: WebMessagePort[] = null
build() {
Column() {
Button('setPorts')
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册