HarmonyOS鸿蒙Next中引入本地的一个html文件怎么看log输出呢
HarmonyOS鸿蒙Next中引入本地的一个html文件怎么看log输出呢
引入本地的一个html文件怎么看输出呢
楼主想要获取日志在鸿蒙的打印工具的话,在下面回调里面处理
.onConsole((event) => {
if (event) {
LogUtil.d(this.Tag, 'onConsole', 'getMessage:', event.message.getMessage(), 'getSourceId:',
event.message.getSourceId(), 'getLineNumber:', event.message.getLineNumber(), 'getMessageLevel:',
event.message.getMessageLevel())
}
return false;
})
更多关于HarmonyOS鸿蒙Next中引入本地的一个html文件怎么看log输出呢的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
第一步:在web组件中开启调试:
controller: webview.WebviewController = new webview.WebviewController();
aboutToAppear() {
// 配置Web开启调试模式
webview.WebviewController.setWebDebuggingAccess(true);
}
build() {
Column() {
Web({ src: $r("index.html"), controller: this.controller })
}
}
第二步:打开auto webview debug设置
调试Webview组件需要执行转发端口等繁琐的命令行操作,因此可以在DevEco Studio中勾选Auto WebView Debug,该操作会在应用启动后两分钟内自动监听可调试的WebView进程并完成端口转发。
第三步:打开谷歌浏览器,输入地址: chrome://inspect/#devices,edge浏览器输入:edge://inspect/#devices
第四步,在这里等待被发现:
后续步骤请参考官网链接:使用DevTools工具调试前端页面-Web调试维测-ArkWeb(方舟Web)-应用框架 - 华为HarmonyOS开发者
在Web组件中开启调试功能:
Web({
src: $rawfile("index.html"),
controller: this.controller,
webDebuggingAccess: true // 允许调试
})
运行应用至设备后,在Chrome浏览器输入chrome://inspect,选择对应页面打开DevTools。在DevTools的Console面板中可直接查看HTML中通过console.log()输出的日志。
使用浏览器开发者工具
启用远程调试
通过hdc命令连接设备,并在Chrome浏览器中打开调试界面
hdc shell hilog -r # 清空日志缓存
hdc shell hilog -p webview # 过滤WebView日志
在Chrome地址栏输入 chrome://inspect,选择对应设备及页面,直接查看console.log输出
F12看控制台日志呀
在HarmonyOS Next中查看本地HTML文件的log输出,需使用WebviewController
的onConsoleLog
回调。示例代码:
import webview from '@ohos.web.webview';
let controller: webview.WebviewController = new webview.WebviewController();
controller.onConsoleLog((event) => {
console.log('Web console log: ' + event.message); // 输出到应用日志
});
// 加载本地HTML
let webComponent = new webview.Webview($r('app.id'));
webComponent.setWebController(controller);
webComponent.loadUrl($rawfile('test.html'));
通过hdc shell hilog
命令查看应用日志输出。HTML中使用console.log()
的内容会在此显示。
在HarmonyOS Next中查看本地HTML文件的log输出,可以通过以下方式实现:
- 使用Web组件加载本地HTML时,可以通过onConsole事件监听控制台输出:
webview.on('console', (event) => {
console.log('HTML Console:', event.message)
})
- 对于使用<web>标签的情况:
<web src="$rawfile(local.html)" onconsole="handleConsole"></web>
- 在JS/TS中处理日志:
handleConsole(event) {
console.log('WebView Log:', event.message)
}
- 如果需要更详细的调试,可以在HTML中使用标准的console API,这些输出会被上述事件捕获:
<script>
console.log('This will be captured');
</script>
注意确保HTML文件已放置在resources/rawfile目录下,并通过$rawfile()正确引用。