当前位置:首页 » 《休闲阅读》 » 正文

鸿蒙ArkTs开发WebView问题总结

24 人参与  2024年05月16日 13:50  分类 : 《休闲阅读》  评论

点击全文阅读


1. 加载WebView页面报错"Can not read properties of null (reading 'getltem')"

解决:

在加载webview的controller中加入.domStorageAccess(true)

 build() {    Column() {      Row().width('100%').height('50rpx')      Web({ src: src, controller: this.controller })        .javaScriptAccess(true)        .domStorageAccess(true)    }  }

官方文档

文档中心

2.如何操作网页中的LocalStorage

解决:

通过操作应用侧runJavaScript()方法调用前端页面的JavaScript相关函数。

本人封装操作LocalStorage 方法

interface JsMethods {  setStorage(key: string, value: any): Promise<void>;  getStorage(key: string): Promise<string>}/** * webview中常用的js操作封装 */export class WebJsUtil implements JsMethods {  private controller: WebviewController;  constructor(controller: WebviewController) {    this.controller = controller;  }  async setStorage(key: string, value: any): Promise<void> {    this.controller.runJavaScript("window.localStorage.setItem('" + key + "', '" + value + "')")  }  async getStorage(key: string): Promise<string> {    const res = await this.controller.runJavaScript("window.localStorage.getItem('" + key + "')")    return res  }}

调用:

 build() {    Column() {      Row().width('100%').height('50rpx')      Web({ src: new BaseUrl().APPOINT_LIST, controller: this.controller })        .javaScriptAccess(true)        .onPageBegin(async (event) => {          const access_token = await PreferenceModel.getPreference('access_token')          const refresh_token = await PreferenceModel.getPreference('refresh_token')          const webJs = new WebJsUtil(this.controller)          await webJs.setStorage('userInfo', JSON.stringify(this.userInfo))          await webJs.setStorage('access_token', access_token)          await webJs.setStorage('refresh_token', refresh_token)        })        .domStorageAccess(true)    }  }

注: window.localStorage.setItem('" + key + "', '" + value + "') 必须在 value 外有两个单引号 包含住

3.WebView 页面在windows模拟器无法出现滚动条滚动

解决:

亲测在Mac 的模拟器可以滚动,且真实模拟机也可以出现滚动条下拉,固为windows的模拟器bug,开发者无需理会,如必要可用 上下箭头进行页面上下滚动即可


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/109492.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 说好的受苦呢?我快被宠上天了傅景臣姜瑜曼完本_说好的受苦呢?我快被宠上天了(傅景臣姜瑜曼)
  • 全书浏览爱意悠悠终成恨:结局+番外(顾廷轩宋晚棠)_爱意悠悠终成恨:结局+番外(顾廷轩宋晚棠)全书结局
  • (此后余生皆孤寂:结局+番外)免费(岑雨茉傅庭升)_此后余生皆孤寂:结局+番外列表_笔趣阁岑雨茉傅庭升
  • 叶墨谨幽璃迟少瑜:+后续+全书(叶墨谨幽璃)结局_(叶墨谨幽璃叶墨谨幽璃迟少瑜:+后续+全书结局)结局列表_笔趣阁(叶墨谨幽璃)
  • 从此你我银河相望:结局+番外经典荡气回肠(沈时愿谢聿深)_从此你我银河相望:结局+番外经典荡气回肠沈时愿谢聿深
  • 表哥压上身家非要跟我赌章节试读_桑塔纳房契安静反转剧情碎片化试读
  • 「爱如星辰坠落」后续已完结_「乔云顾沥川清清」小说后续在线免费阅读
  • 穿成路人甲我才是天道亲闺女+后续+(池玥)全书免费_(池玥)穿成路人甲我才是天道亲闺女+后续+后续(池玥)
  • 皇后娘娘城楼一跃,陛下重生情怯正版列表_皇后娘娘城楼一跃,陛下重生情怯正版(谢瑜修虞槿栀)
  • 星河明灭无端:结局+番外爱恨纠葛(温穗颜宋承砚)全书浏览_星河明灭无端:结局+番外爱恨纠葛全书浏览
  • 幽思燃烬忘川路:+后续+结局经典荡气回肠(叶墨谨幽璃)_幽思燃烬忘川路:+后续+结局经典荡气回肠(叶墨谨幽璃)
  • (番外)+(结局)叶墨谨幽璃(叶墨谨幽璃:结局+番外)_(叶墨谨幽璃)列表_笔趣阁(叶墨谨幽璃:结局+番外)

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1