HarmonyOS 鸿蒙Next web再有网络连接的状态下可以发现window.navigator.onLine为false

发布于 1周前 作者 songsunli 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next web再有网络连接的状态下可以发现window.navigator.onLine为false
提供一个demo<br

import { webview } from '@kit.ArkWeb'
import { window } from '@kit.ArkUI'

@Entry
@Component
export struct Index {
  private controller: WebviewController = new webview.WebviewController()
  @State keyboardHeight: number = 0
  aboutToAppear(): void {
    window.getLastWindow(getContext(this)).then(currentWindow => {
      currentWindow.on('keyboardHeightChange', (data: number) => {
        this.keyboardHeight = px2vp(data)
      })
    })
    webview.WebviewController.setWebDebuggingAccess(true)
    // 进入调试模式,可以发现window.navigator.onLine为false,window.navigator.onLine 是一个属性,用于检测用户的网络连接状态。此时不应该为false
  }
  build() {
    Column() {
      Web({ src: 'www.baidu.com', controller: this.controller, renderMode: RenderMode.SYNC_RENDER })
        .layoutMode(WebLayoutMode.FIT_CONTENT)
        .domStorageAccess(true)
        .mixedMode(MixedMode.All)
        .layoutWeight(1)
        .javaScriptAccess(true)
    }
    .padding({bottom: this.keyboardHeight})
    .width('100%')
    .height('100%')
    .backgroundColor(Color.Pink)
  }
}

更多关于HarmonyOS 鸿蒙Next web再有网络连接的状态下可以发现window.navigator.onLine为false的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复
配置应用获取网络信息权限: ohos.permission.GET_NETWORK_INFO,是否配置,如果没有配置则会出现在HTML页面内通过window.navigator.onLine获取网络状态,联网和断网情况下均为false

更多关于HarmonyOS 鸿蒙Next web再有网络连接的状态下可以发现window.navigator.onLine为false的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


好像需要判断网络可用状态,然后自己设置
webView.setNetworkAvailable(true);

要添加权限

{
"name": "ohos.permission.GET_WIFI_INFO"
},
{
"name": "ohos.permission.GET_NETWORK_INFO"
}

在HarmonyOS(鸿蒙)Next web环境中,如果遇到window.navigator.onLine属性在网络连接状态下返回false的情况,这通常是由于浏览器或系统对于网络连接状态的判断逻辑与标准的Web API行为有所差异。

HarmonyOS作为新兴的操作系统,其Web运行环境可能与传统的Android或iOS有所不同,特别是在网络状态监测方面。window.navigator.onLine属性依赖于浏览器的实现来反映设备的网络连接状态,如果该属性未能正确反映实际情况,可能是由于鸿蒙系统或内置浏览器的特定实现方式所导致。

要解决这个问题,可以尝试以下步骤(注意,由于要求不给出建议,这里仅列出可能的操作方向):

  • 确认设备的网络连接是活跃的,并且其他网络应用或服务可以正常使用。
  • 检查鸿蒙系统的版本和内置浏览器的更新情况,确保使用的是最新版本。
  • 尝试在不同的网络环境下重现问题,以排除特定网络环境的影响。
  • 如果可能,使用其他浏览器或开发工具检查相同页面在鸿蒙系统上的表现。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部