讨论广场 问答详情
如何自定义拼接设置UserAgent参数
HarmonyOS社区小助手 2024-01-22 17:00:15
70 评论 分享
鸿蒙应用开发鸿蒙官网

如题

70 评论 分享
写回答
全部评论(2)

代码示例
 

import { webview } from '@kit.ArkWeb' 
 
@Entry 
@Component 
struct Index { 
  private controller: webview.WebviewController = new 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%') 
  } 
}

 

2024-01-22 17:00:59

解决措施
默认UserAgent需要通过WebviewController获取。WebviewController对象必须在Web组件绑定后,才能调用WebviewController上的方法getUserAgent获取默认UserAgent。因此在页面加载前通过自定义字符串拼接修改UserAgent,可采用此方式:
1.使用@State定义初始UserAgent,绑定到Web组件;
2.在Web组件的onUrlLoadIntercept回调中,通过WebviewController.getUserAgent()获取默认UserAgent,并修改Web组件绑定的UserAgent

参考链接
userAgentgetUserAgent

2024-01-22 17:00:43