Vue 打包项目在 WebView2 中未收到 C# 发送的数据,如何排查和解决问题?
我有1个windows C#项目,项目里要使用1个vue项目,vue项目现在已经打好包,放入在windows项目内,window项目使用的是 webView2引用vue打好包的主页index.html
我的需求:在打开vue页面时,index.html需要使用设备列表数据,数据是webView2传给前端,
这是后端代码
// 下面能正常接收到消息
// webView21.Source = new Uri("file:///D:/Work/Git/cmvrf/CMVRF/Project3/development/test.html");
// 下面接收不到消息
webView21.Source = new Uri("file:///D:/Work/Git/cmvrf/CMVRF/Project3/development/index.html#/haierDragDropSystem?lang=en&isdark=1");
webView21.CoreWebView2.WebMessageReceived += GetDrawInfo;
这是前端代码
// 这里是前端 接收C#消息:
window.chrome.webview.addEventListener("message", function (event) {
// 设备列表
console.log(event.data);
});
现在有1个问题,如果只用单独的test.html接收event.data是能正常收到数据,但是如果用vue打包好的项目index.html接收不到event.data,是不是vue项目的index.html打开有延时,C#发送的消息提前发送了,在index.html打开时addEventListener("message")监听不到了,这种情况怎么办?
回复
1个回答
test
2024-06-19
// 增加了这句就可以了
window.chrome.webview.postMessage("successload");
// 接收C#消息:
window.chrome.webview.addEventListener("message", function (event) {//...})
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容