帮你看的是权限报错问题,不是显示不了的问题。你都没试试...
localstorage API 是基于网址域名的,直接显示HTML内容的方式,没有网址,所以没有权限。
参考:
https://github.com/MicrosoftEdge/WebView2Feedback/issues/530#issuecomment-1104200695
我是选择"打开网页并等待加载完成",网页内容放在"html内容"中.
其他未做配置,这样网页能打开,但是js加载的一些东西有问题,具体来说控制台报错就是权限问题.
我查了一下,如果允许第三方cookie可以解决这个问题,但是没在这个部件中看到这个设置.
为什么我要用这种方式呢,因为他可以无边显示网页.
如果直接读取本地硬盘中的html文件是可以的,不过有个标题栏.还有个边框.
所以问题是,如果通过直接加载网页的方式,怎么允许localstorage权限.read the 'localStorage' property from 'Window': Access is denied for this document.
public partial class Form1 : Form
{
[DllImport("user32.dll", SetLastError = true)]
static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong);
[DllImport("user32.dll")]
static extern bool UpdateWindow(IntPtr hWnd);
const int GWL_EXSTYLE = -20;
const int WS_EX_LAYERED = 0x80000;
const int WS_EX_TRANSPARENT = 0x20;
public Form1()
{
InitializeComponent();
// 设置窗口扩展样式为透明
SetWindowLong(this.Handle, GWL_EXSTYLE, WS_EX_LAYERED | WS_EX_TRANSPARENT);
UpdateWindow(this.Handle);
}
}
[UWP:如何正确设置和重置 WebView2 的 DefaultBackgroundColor · 问题 #2899 · MicrosoftEdge/WebView2Feedback](https://github.com/MicrosoftEdge/WebView2Feedback/issues/2899)
===
查到这个
两者都建议通过设置环境变量来设置 DefaultBackgroundColor,如下所示:
Environment.SetEnvironmentVariable("WEBVIEW2_DEFAULT_BACKGROUND_COLOR", "0");
麻烦你看下能否实现