经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 移动开发 » 鸿蒙 » 查看文章
鸿蒙HarmonyOS实战-Web组件(请求响应和页面调试)
来源:cnblogs  作者:蜀道山QAQ  时间:2024/6/1 20:28:40  对本文有异议

??前言

请求响应是指客户端发送请求给服务器,服务器接收到请求后返回的响应。响应包含了服务器处理请求的结果,并将结果返回给客户端。

页面调试是指在开发过程中,通过调试工具分析页面的运行状况,查找问题和修复错误。常用的页面调试工具包括浏览器的开发者工具和调试插件,可以检查页面的网络请求、HTML代码、CSS样式和JavaScript代码等,并对其进行调试和修改。

请求响应和页面调试在Web开发中都非常重要。通过分析请求和响应的信息,开发人员可以了解每个请求的状态、数据和处理结果,有助于排查和解决问题。而页面调试则可以帮助开发人员快速定位和修复页面上的错误,优化页面的性能和用户体验。

??一、请求响应和页面调试

??1.请求响应

??1.1 前端代码

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>example</title>
  6. </head>
  7. <body>
  8. <!-- 页面资源请求 -->
  9. <a href="https://www.example.com/test.html">intercept test!</a>
  10. </body>
  11. </html>

??1.2 应用侧代码

在HarmonyOS中,onInterceptRequest()是一个接口,用于拦截网络请求并进行处理。它是HarmonyOS的网络框架提供的一种扩展机制,可以在网络请求发起之前拦截请求,并进行一些自定义的操作。

当一个网络请求发起时,HarmonyOS的网络框架会首先调用onInterceptRequest()接口。在该接口中,你可以对请求进行一些处理,例如修改请求的URL、添加请求头、修改请求参数等。还可以在此处拦截请求,返回自定义的响应结果,以实现一些常见的操作,如模拟网络请求,拦截广告请求等。

  1. import web_webview from '@ohos.web.webview'
  2. @Entry
  3. @Component
  4. struct WebComponent {
  5. controller: web_webview.WebviewController = new web_webview.WebviewController()
  6. responseResource: WebResourceResponse = new WebResourceResponse()
  7. // 开发者自定义响应数据
  8. @State webdata: string = "<!DOCTYPE html>\n" +
  9. "<html>\n"+
  10. "<head>\n"+
  11. "<title>intercept test</title>\n"+
  12. "</head>\n"+
  13. "<body>\n"+
  14. "<h1>intercept test</h1>\n"+
  15. "</body>\n"+
  16. "</html>"
  17. build() {
  18. Column() {
  19. Web({ src: $rawfile('local.html'), controller: this.controller })
  20. .onInterceptRequest((event?: Record<string, WebResourceRequest>): WebResourceResponse => {
  21. if (!event) {
  22. return new WebResourceResponse();
  23. }
  24. let mRequest: WebResourceRequest = event.request as WebResourceRequest;
  25. console.info('TAGLee: url:'+ mRequest.getRequestUrl());
  26. //拦截页面请求,如果加载的url判断与目标url一致则返回自定义加载结果webdata
  27. if(mRequest.getRequestUrl() === 'https://www.example.com/test.html'){
  28. // 构造响应数据
  29. this.responseResource.setResponseData(this.webdata);
  30. this.responseResource.setResponseEncoding('utf-8');
  31. this.responseResource.setResponseMimeType('text/html');
  32. this.responseResource.setResponseCode(200);
  33. this.responseResource.setReasonMessage('OK');
  34. return this.responseResource;
  35. }
  36. return;
  37. })
  38. }
  39. }
  40. }

image

??2.页面调试

1、开启调试

在HarmonyOS中,setWebDebuggingAccess()接口用于设置是否允许调试Web视图。

setWebDebuggingAccess()接口的语法如下:

  1. setWebDebuggingAccess(boolean debuggable);

参数debuggable为boolean型,表示是否允许调试Web视图。如果debuggable为true,则允许调试Web视图;如果debuggable为false,则禁止调试Web视图。

此接口需要在合适的地方调用,例如在应用程序的入口Activity中或者WebView的初始化代码中调用。调用该方法后,系统将根据参数的值来决定是否允许调试Web视图。

2、 配置端口

  1. // 添加映射
  2. hdc fport tcp:9222 tcp:9222
  3. // 查看映射
  4. hdc fport ls

3、在PC端chrome浏览器地址栏中输入chrome://inspect/#devices,页面识别到设备后,就可以开始页面调试

image

??写在最后

  • 如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:
  • 点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。
  • 关注小编,同时可以期待后续文章ing??,不定期分享原创知识。
  • 更多鸿蒙最新技术知识点,请关注作者博客:https://t.doruo.cn/14DjR1rEY

image

原文链接:https://www.cnblogs.com/shudaoshan/p/18226360

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号