首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

鸿蒙HarmonyOS实战-Web组件(请求响应和页面调试)

  • 25-02-22 03:41
  • 3379
  • 7729
blog.csdn.net

前言

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

页面调试是指在开发过程中,通过调试工具分析页面的运行状况,查找问题和修复错误。常用的页面调试工具包括浏览器的开发者工具和调试插件,可以检查页面的网络请求、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 = "\n" +
  9. "\n"+
  10. "\n"+
  11. "intercept test\n"+
  12. "\n"+
  13. "\n"+
  14. "

    intercept test

    \n"
    +
  15. "\n"+
  16. ""
  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. }

在这里插入图片描述

2.页面调试

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

setWebDebuggingAccess()接口的语法如下:

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,页面识别到设备后,就可以开始页面调试

在这里插入图片描述

 ?写在最后

  • 如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:
  • 点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。
  • 关注小编,同时可以期待后续文章ing?,不定期分享原创知识。
  • 想要获取更多完整鸿蒙最新VIP学习资料,请点击→全套鸿蒙HarmonyOS学习资料
  • 或者关注小编后私信回复【666】也可获取资料哦~~

注:本文转载自blog.csdn.net的蜀道山QAQ的文章"https://blog.csdn.net/shudaoshanQAQ/article/details/135501662"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top