具体标识符(如 

发布时间:2025-06-24 19:01:58  作者:北方职教升学中心  阅读量:099


WebView 中,鸿蒙可以提供 JS API 来判断。

推荐优先使用 。 具体标识符(如 。

如果网页在鸿蒙系统中运行,OpenHarmony。

if (window.isHarmonyOS) {  console.log('目前的网页嵌入在鸿蒙应用程序中 WebView 中打开');} else {  console.log('目前的网页不嵌入鸿蒙应用程序 WebView 中打开');}。 判断(首选)

鸿蒙系统浏览器(如华为浏览器)会在 。 WebView 中打开');}。

精准判断。

仅适用于鸿蒙系统 WebView。

示例代码(原生 + JS)
  1. 注入环境变量的原始代码。

    鸿蒙 JS API。

    方法。

    原注入变量。

    有可能被篡改或伪造。

    高度可控。

    适用场景。

    function isHarmonyOSBrowser() {// 检测鸿蒙浏览器是否有独特的行为constt isHarmonyOS = /HarmonyOS/i.test(navigator.userAgent);const isHuaweiBrowser = /HUAWEI/i.test(navigator.userAgent);return isHarmonyOS || isHuaweiBrowser;}if (isHarmonyOSBrowser()) {console.log('当前网页在鸿蒙系统浏览器中打开');} else {console.log('目前的网页不在鸿蒙系统浏览器中打开');}。

    通用场景。

    优点。


    方法3:结合鸿蒙原生能力(适用于混合开发)

    若为鸿蒙系统应用程序嵌入式 WebView,可通过原始代码注入环境变量或调用原始方法来判断。

    // 将环境变量webview注入鸿蒙原生代码.getWebViewClient().setJavaScriptEnabled(true);webView.loadUrl("javascript:window.isHarmonyOS = true;");
  2. JS 判断。可以通过 JavaScript 检测 。

  3. 独特的行为检测。 判断,如果需要嵌入鸿蒙应用程序 WebView 判断,环境变量可以结合原始代码注入。User-Agent。User-Agent。

    依赖浏览器行为󿀌可能不准确。

    示例代码。

    69ef28a4e1a46b1d234ccc8f9344e347.jpeg

    4e3a8b1913d289602542dcd5636c0576.jpeg

     判断

    通过web端获取以下agent:

    70b5a4727376a5653d6c366eb8855843.png

    示例代码。
    function isHarmonyOSBrowser() {const userAgent = navigator.userAgent;
    return navigator.userAgent.indexOf("Harmony") > -1// 或者 判断是否包含 OpenHarmony或 HUAWEI 标识return/OpenHarmony|HUAWEI/i.test(userAgent);}if (isHarmonyOSBrowser()) {console.log('当前网页在鸿蒙系统浏览器中打开');} else {console.log('目前的网页不在鸿蒙系统浏览器中打开');}。

    鸿蒙 WebView 场景。

    通用场景。


    方法二:通过鸿蒙 JS API 判断。

    User-Agent。

    总结。

    简单易用。

    关注我获得更多的知识或贡献。User-Agent。

    鸿蒙系统的浏览器可能有一些独特的行为或属性,这些行为可以通过检测来判断。

    内嵌的鸿蒙应用 WebView。User-Agent。

    在鸿蒙系统中,判断网页是否在鸿蒙手机浏览器中打开,1可以通过以下方法实现a;


    方法1:通过 。

    方法4:判断鸿蒙浏览器的独特行为。

    缺点。

    需要原始代码的配合。

    function isHarmonyOSWebView() {// 判断鸿蒙是否有独特的鸿蒙 JS APIreturntypeofwindow.harmony !== 'undefined';}if (isHarmonyOSWebView()) {console.log('目前的网页在鸿蒙系统中 WebView 中打开');} else {console.log('目前的网页不在鸿蒙系统。 )。

    无需额外配置。

    示例代码。