为什么 CefSharp 指示 'Not allowed to load local resource: file:///C:/...'?
Why CefSharp indicates 'Not allowed to load local resource: file:///C:/...'?
我已经根据从本地文件系统加载文件的指南设置了我的项目和代码 (Referenced site)。 Web 文件就在项目中。即使这两个属性设置为启用 FileAccessFromFileUrls
和 UniversalAccessFromFileUrls
,浏览器控件中的内容仍然是空的,调试器指示 'Not allowed to load local resource'。看不到 CefSharp 无法加载文件的原因。
使用版本 63.0.3.0
public Form1()
{
InitializeComponent();
InitializeChromium();
Controls.Add(_chromiumWebBrowser);
}
private void InitializeChromium()
{
var settings = new CefSettings();
Cef.Initialize(settings);
var address = $@"{Application.StartupPath}\HtmlResources\html\index.html";
_chromiumWebBrowser = new ChromiumWebBrowser(address);
_chromiumWebBrowser.Dock = DockStyle.Fill;
_chromiumWebBrowser.IsBrowserInitializedChanged += OnBrowserInitialized;
_chromiumWebBrowser.FrameLoadEnd += OnFrameLoadEnd;
_jsToSharp = new JsToSharp(_chromiumWebBrowser);
_chromiumWebBrowser.JavascriptObjectRepository.Register("jsToSharp", _jsToSharp, true);
var browserSettings = new BrowserSettings
{
FileAccessFromFileUrls = CefState.Enabled,
UniversalAccessFromFileUrls = CefState.Enabled
};
_chromiumWebBrowser.BrowserSettings = browserSettings;
}
检查所有 html、js 等文件是否已复制到 Visual Studio 的项目设置中的构建输出目录。在 "Build Action" 属性中设置 'Copy to Output' = 'Copy if newer'.
我已经根据从本地文件系统加载文件的指南设置了我的项目和代码 (Referenced site)。 Web 文件就在项目中。即使这两个属性设置为启用 FileAccessFromFileUrls
和 UniversalAccessFromFileUrls
,浏览器控件中的内容仍然是空的,调试器指示 'Not allowed to load local resource'。看不到 CefSharp 无法加载文件的原因。
使用版本 63.0.3.0
public Form1()
{
InitializeComponent();
InitializeChromium();
Controls.Add(_chromiumWebBrowser);
}
private void InitializeChromium()
{
var settings = new CefSettings();
Cef.Initialize(settings);
var address = $@"{Application.StartupPath}\HtmlResources\html\index.html";
_chromiumWebBrowser = new ChromiumWebBrowser(address);
_chromiumWebBrowser.Dock = DockStyle.Fill;
_chromiumWebBrowser.IsBrowserInitializedChanged += OnBrowserInitialized;
_chromiumWebBrowser.FrameLoadEnd += OnFrameLoadEnd;
_jsToSharp = new JsToSharp(_chromiumWebBrowser);
_chromiumWebBrowser.JavascriptObjectRepository.Register("jsToSharp", _jsToSharp, true);
var browserSettings = new BrowserSettings
{
FileAccessFromFileUrls = CefState.Enabled,
UniversalAccessFromFileUrls = CefState.Enabled
};
_chromiumWebBrowser.BrowserSettings = browserSettings;
}
检查所有 html、js 等文件是否已复制到 Visual Studio 的项目设置中的构建输出目录。在 "Build Action" 属性中设置 'Copy to Output' = 'Copy if newer'.