OpenHarmony开发者论坛

标题: 如何自定义拼接设置UserAgent参数 [打印本页]

作者: Summer    时间: 2023-10-11 14:53
标题: 如何自定义拼接设置UserAgent参数

【问题描述】

Web组件支持设置userAgent参数设置用户代理,userAgent是一个string类型,如何自定义拼接呢?


【运行环境】
硬件:rk3568;  ROM: 3.2  Beta5;  API 9



作者: 星辰大海    时间: 2023-10-13 17:08
[md]默认UserAgent需要通过WebviewController获取。WebviewController对象必须在Web组件绑定后,才能调用WebviewController上的方法getUserAgent获取默认UserAgent。因此在页面加载前通过自定义字符串拼接修改UserAgent,可采用此方式:

1. 使用@State定义初始UserAgent,绑定到Web组件;
2. 在Web组件的onUrlLoadIntercept回调中,通过WebviewController.getUserAgent()获取默认UserAgent,并修改Web组件绑定的UserAgent

```
import web_webview from '@ohos.web.webview'

@Entry

@Component

struct Index {

  private controller: web\_webview.WebviewController = new web\_webview.WebviewController()

  @State userAgentPa: string = ''

  build() {

    Row() {

      Column() {

        Web({ src: 'http://www.example.com', controller: this.controller }) //需要手动替换为真实网站

          .width('100%')

          .userAgent(this.userAgentPa)

          .onUrlLoadIntercept((event) => {

            let userAgent = this.controller.getUserAgent();

            this.userAgentPa = userAgent + ' 111111111'

            return false;

          })

      }

      .width('100%')

    }

    .height('100%')

  }

}
```

参考链接:[userAgent](https://gitee.com/openharmony/do ... ts-web.md#useragent)、[getUserAgent](https://gitee.com/openharmony/do ... iew.md#getuseragent)

[/md]




欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/) Powered by Discuz! X3.5