#鸿蒙通关秘籍#如何使用鸿蒙Web组件本地资源跨域拦截器?

HarmonyOS
2024-12-16 13:34:35
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
XML梦vr彼岸

在鸿蒙平台中,Web组件可以为加载的资源设置域名映射,通过onInterceptRequest接口拦截并替换请求,不让其被跨域策略阻挡。

typescript import { webview } from '@kit.ArkWeb';

@Entry @Component struct Index { @State message: string = 'Hello World'; webviewController: webview.WebviewController = new webview.WebviewController();

schemeMap = new Map([ ["https://www.example.com/index.html", "index.html"], ["https://www.example.com/js/script.js", "js/script.js"], ]);

mimeTypeMap = new Map([ ["index.html", 'text/html'], ["js/script.js", "text/javascript"] ]);

build() { Row() { Web({ src: "https://www.example.com/index.html", controller: this.webviewController }) .onInterceptRequest((event) => { if (this.schemeMap.has(event.request.getRequestUrl())) { let rawfileName = this.schemeMap.get(event.request.getRequestUrl())!; let mimeType = this.mimeTypeMap.get(rawfileName); let response = new WebResourceResponse(); response.setResponseData($rawfile(rawfileName)); response.setResponseEncoding('utf-8'); response.setResponseMimeType(mimeType); response.setResponseCode(200); response.setReasonMessage('OK'); response.setResponseIsReady(true); return response; } return null; }); } } }

分享
微博
QQ
微信
回复
2024-12-16 15:51:53
相关问题
HarmonyOS Web组件本地资源问题
261浏览 • 1回复 待解决
Web组件如何访问资源
636浏览 • 1回复 待解决
HarmonyOS Web本地资源加载异常
224浏览 • 1回复 待解决
HarmonyOS web组件关闭拦截
261浏览 • 1回复 待解决
HarmonyOS web资源问题
287浏览 • 1回复 待解决
HarmonyOS Web组件加载本地H5文件
585浏览 • 1回复 待解决
HarmonyOS Web组件请求问题
665浏览 • 1回复 待解决
HarmonyOS rcp拦截器
341浏览 • 1回复 待解决
HarmonyOS 本地webView方案
1513浏览 • 1回复 待解决
HarmonyOS rcp请求拦截器
1078浏览 • 1回复 待解决
HarmonyOS router有没有拦截器?
243浏览 • 1回复 待解决
HarmonyOS 导航路由拦截器如何实现
242浏览 • 1回复 待解决