我的应用程序使用边缘浏览器在应用程序中启动网页。我正在关注WebView2 API。
我想将"C:\Users\<user>\AppData\Local\Microsoft\Edge"作为"userDataFolder"参数传递给CreateCoreWebView2EnvironmentWithOptions(),因为这个位置是存储浏览器数据的位置。
我不希望我的应用程序数据在我的应用程序文件夹中。
如何从应用程序内部获取Edge浏览器的用户数据位置?有没有可以读取的注册表值?
发布于 2020-10-21 08:18:38
不应将边缘浏览器的用户数据文件夹用作WebView2实例的用户数据文件夹。
最终用户不会期望其他应用程序在他们的浏览器中改变状态。此外,由于chromium的架构,共享用户数据文件夹也意味着共享浏览器进程和相关进程。Edge browser的设计不支持此功能,并假定它可以控制其进程的生命周期。WebView2可能会无缘无故地关闭其进程。对于使用浏览器的最终用户也是如此。
此外,如果你试图使用多个应用程序共享的文件夹,而它们之间没有协调,那么你的数据就不会与其他应用程序的数据分开,所以当你的应用程序被卸载时,你无法清理你的数据。
在一定程度上,为了防止这种情况发生,user data folder参数中指定的路径不是WebView2用于存储数据的直接路径。WebView2使用此文件夹下的文件夹,因此您无法拾取浏览器的用户数据文件夹。
https://stackoverflow.com/questions/64437278
复制相似问题