HarmonyOS 鸿蒙Next Arkweb中 .javaScriptAccess(true) 后注入js失败

发布于 1周前 作者 eggper 来自 鸿蒙OS

HarmonyOS 鸿蒙Next Arkweb中 .javaScriptAccess(true) 后注入js失败

Arkweb中 .javaScriptAccess(true) 后注入js失败

.onPageEnd(e => {
  //屏蔽跳转
  this.controller.runJavaScript(
    "javascript:" +
    "function() { " +
    "document.getElementById('pano-search-button').href = 'javascript:void(0)';" +
    "})()"
)

this.controller.loadUrl("javascript:document.getElementsByClassName('xx')[0].style.display='none';")
会报错Uncaught TypeError: Cannot read properties of undefined (reading ‘style’)


更多关于HarmonyOS 鸿蒙Next Arkweb中 .javaScriptAccess(true) 后注入js失败的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

执行js脚本使用runJavaScript

this.webviewController.runJavaScript("javascript:document.getElementsByClassName('test3')[0].style.display='none';")

更多关于HarmonyOS 鸿蒙Next Arkweb中 .javaScriptAccess(true) 后注入js失败的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next ArkWeb中,.javaScriptAccess(true) 方法用于启用JavaScript访问权限,允许WebView与JavaScript进行交互。如果在调用此方法后注入JavaScript失败,可能的原因和解决方案如下:

  • 确保你的应用已在config.json中正确配置了相关权限,特别是网络访问权限和WebView组件的权限。
  • 检查WebView是否已完全加载完成。JavaScript注入应在页面加载完成后进行,可以通过监听onPageFinished事件来确保时机正确。
  • 确保你使用的注入方法正确。通常,使用evaluateJavascript方法注入JavaScript代码。如果使用的是旧方法如loadUrl("javascript:..."),可能在某些版本的ArkWeb中不被支持或存在兼容性问题。
  • 检查注入的JavaScript代码是否有语法错误或逻辑问题,这可能导致执行失败。
  • 不同版本的HarmonyOS可能对ArkWeb的实现有细微差别,确保你的代码与当前系统版本兼容。

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

回到顶部