我已经根据从本地文件系统 ( Referenced site ) 加载文件的指南设置了我的项目和代码。网络文件都在项目中。即使这两个属性设置为启用 FileAccessFromFileUrls
和 UniversalAccessFromFileUrls
,浏览器控件中的内容仍然为空,并且调试器指示“不允许加载本地资源”。无法查看 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;
}
最佳答案
在 Visual Studio 的项目设置中检查所有复制到构建输出目录的 html、js 等文件。在“构建操作”属性中,设置“复制到输出”=“如果较新则复制”。
关于c# - 为什么CefSharp显示 'Not allowed to load local resource: file:///C:/...'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49745199/