HarmonyOS ArkWeb html怎么获取ua

怎么提前设置webview的ua,H5需要根据ua判断页面展示数据。

HarmonyOS
2024-09-04 11:59:09
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
FengTianYa

H5获取UA可在页面初始化时写入sessionStorage或window对象,参考如下代码:

import webview from '@ohos.web.webview'; 
 
@Entry 
@Component 
struct test { 
  webController: webview.WebviewController = new webview.WebviewController(); 
  @State userAgent: string = ''; 
  aboutToAppear(): void { 
    webview.WebviewController.setWebDebuggingAccess(true) 
  } 
  build() { 
    Row() { 
      Column() { 
        Web({src:$rawfile('local.html'), controller:this.webController}) 
          .onControllerAttached(() => { 
            this.userAgent = this.webController.getUserAgent(); 
            console.log(this.userAgent) 
          }) 
          .domStorageAccess(true) 
          .javaScriptAccess(true) 
          .javaScriptOnDocumentStart([{ 
            script: `sessionStorage.setItem('userAgent', '${this.userAgent}')`, scriptRules: ["*"] 
          }]) 
      } 
      .width('100%') 
    } 
    .height('100%') 
  } 
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.

HTML代码如下:

<!DOCTYPE html> 
  <html lang="en"> 
  <head> 
  <meta charset="UTF-8"> 
  <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
  <title>Session Storage Example</title> 
  </head> 
  <body> 
  <p id="id">Hello world</p> 
  <script> 
  // 获取sessionStorage中的userAgent值 
  var userAgent = sessionStorage.getItem('userAgent'); 
 
if (userAgent) { 
  document.getElementById('id').innerText = userAgent; 
} else { 
  alert('User Agent not found in sessionStorage.'); 
} 
</script> 
  </body> 
  </html>
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
分享
微博
QQ
微信
回复
2024-09-04 15:07:54
相关问题
HarmonyOS web组件怎么获取html页面标题
328浏览 • 1回复 待解决
HarmonyOS 自定义UA
604浏览 • 1回复 待解决
求大佬告知webview如何设置UA
1702浏览 • 1回复 待解决
HarmonyOS web如何获取html内容高度
468浏览 • 1回复 待解决
HarmonyOS web组件怎么加载html字符串
513浏览 • 1回复 待解决
Text怎么显示带html标签的文本
5285浏览 • 1回复 待解决
Text怎么解析展示带html标签的文本?
2701浏览 • 1回复 待解决
HarmonyOS ArkWeb预加载能力文档
753浏览 • 1回复 待解决
HarmonyOS ArkWeb 特定样式无法渲染
504浏览 • 1回复 待解决
HarmonyOS ArkWeb如何清理缓存
423浏览 • 1回复 待解决
HarmonyOS ArkWeb网页重定向问题
564浏览 • 1回复 待解决
HarmonyOS webview如何加载沙箱html
1139浏览 • 1回复 待解决
HarmonyOS html富文本显示问题
2038浏览 • 1回复 待解决