HarmonyOS 关于获取userAgent问题

有个需求,http请求头中添加userAgent,如何获取呢?WebviewController看文档说明是必须在Web Compont中使用。

let  controller = new webview.WebviewController 
let  userAgent = controller.getUserAgent() 

会报错:Error: Init error. The WebviewController must be associated with a Web component。

HarmonyOS
2024-12-27 15:10:21
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
shlp

demo如下:

// 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();
  @State customUserAgent: string = 'test'
  build() {
    Column() {
      Button('setCustomUserAgent')
        .onClick(() => {
          try {
            let userAgent = this.controller.getUserAgent() + this.customUserAgent;
            this.controller.setCustomUserAgent(userAgent);
          } catch (error) {
            let e:business_error.BusinessError = error as business_error.BusinessError;
            console.error(`ErrorCode: ${e.code},  Message: ${e.message}`);
          }
        })
      Web({ src: 'XXX', controller: this.controller })
    }
  }
}

参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-webview-V5#setcustomuseragent10

目前只能通过web组件才能获取UserAgent,建议可以先获取后userAgent后,写成固定的,放入到请求的head中,再去掉web组件获取。

分享
微博
QQ
微信
回复
2024-12-27 17:20:34
相关问题
Web怎么获取userAgent
1058浏览 • 1回复 待解决
HarmonyOS sdk获取userAgent的方法
273浏览 • 1回复 待解决
HarmonyOS 关于获取context的问题
669浏览 • 1回复 待解决
Web组件如何获取和设置UserAgent
3290浏览 • 1回复 待解决
关于获取应用列表权限问题
3884浏览 • 1回复 待解决
如何在web组件中获取和设置UserAgent
1443浏览 • 1回复 待解决
关于如何获取时钟的id的问题
6183浏览 • 1回复 待解决
关于 onArrange中获取到的参数的问题
5160浏览 • 1回复 待解决
HarmonyOS 设置userAgent失效
316浏览 • 1回复 待解决
HarmonyOS Web组件UserAgent判断方法
390浏览 • 1回复 待解决
HarmonyOS Web组件如何增加UserAgent
338浏览 • 1回复 待解决
HarmonyOS 关于手势问题
402浏览 • 1回复 待解决
HarmonyOS 关于crash问题
901浏览 • 1回复 待解决
HarmonyOS关于navigation问题
1082浏览 • 1回复 待解决
HarmonyOS 关于加固问题
358浏览 • 1回复 待解决
HarmonyOS 关于cookie问题
562浏览 • 1回复 待解决