为什么CefSharp指示'不允许加载本地资源:file:/// C:/...'?

时间:2018-04-10 04:13:31

标签: c# cefsharp

我根据从本地文件系统(Referenced site)加载文件的指南设置了我的项目和代码。 Web文件就在项目中。即使将这两个属性设置为启用FileAccessFromFileUrlsUniversalAccessFromFileUrls,浏览器控件中的内容仍为空,并且调试器指示“不允许加载本地资源'”。无法看到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;
    }

1 个答案:

答案 0 :(得分:2)

检查所有html,js等文件是否已复制到Visual Studio项目设置中的构建输出目录。在"构建行动"属性设置'复制到输出' ='如果更新则复制。