默認情況下,WebView2程序的用戶數據是按程序獨立存儲的:
- 桌面應用位置是當前路徑,以 xxx.exe.WebView2命名
- UWP程序在ApplicationData\LocalFolder 程序包文件夾中的子文件夾
這么做的好處是程序具有獨立的會話信息。但很多時候我們需要自定義用戶數據存儲的位置,例如:
-
程序的根目錄可能沒有寫入權限
-
想自定義文件夾名稱,重新規划位置
-
需要和別的WebView2程序共享cookie,緩存、歷史記錄、插件等
自定義用戶數據文件的方式比較簡單,在EnsureCoreWebView2Async中傳入自定義用戶數據文件位置即可。
var env = await CoreWebView2Environment.CreateAsync(userDataFolder: @"R:\WebView2Data");
await webView.EnsureCoreWebView2Async(env);
另外,這種方式也可以用來使得同一個程序使用不同的會話,例如,同時實現登陸兩個不同的賬號,在測試的時候比較有用。
參考文章: