我想在webview中获取文件的真实路径,技术上可以通过webview和C#之间postMessage实现,即通过C#中的WebMessageReceived事件处理函数捕获webview浏览器中window.chrome.webview.postMessageWithAdditionalObjects传递的文件对象(参见这篇教程)
但是我在Quicker的webview窗口里面始终无法通过WebMessageReceived收到window.chrome.webview.postMessageWithAdditionalObjects或者window.chrome.webview.postMessage发送的消息,可以看这个测试动作。
在测试动作里,等待C#脚本加载完成后,webview可以获取C#中通过PostWebMessageAsJson发送的消息(经过测试也可以收到C#提供的文件系统句柄,只要使用PostWebMessageAsJson(String, List<Object>)重载,第二个参数是文件系统句柄列表,可以通过CreateWebFileSystemFileHandle创建,说明Quicker提供的webview版本是支持传递文件句柄的),C#也可以Webview的捕获其他事件,如WindowCloseRequested(按窗口里的close按钮),但C#就是无法获取webview发送过来的消息(按poseMessage按钮),WebMessageReceived始终不会触发,不知道是哪里的问题。