猿问

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

我已经根据从本地文件系统(参考站点)加载文件的指南设置了我的项目和代码。Web文件在项目中都可以找到。即使将这两个属性设置为enableFileAccessFromFileUrls和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;

    }


扬帆大鱼
浏览 1475回答 3
3回答

以奏之名

..... 因为你没把数据放到Debug文件夹里吧   你可能放到你以为的同级目录了 , 我刚解决  ,找半天问题, 才发现 没把文件贴到DEBUG文件夹里 所以加载不了,对于软件来说,当前路径就找不到这玩意,  提示的也是not allow  

以奏之名

..... 因为你没把数据放到Debug文件夹里吧   你可能放到你以为的同级目录了 , 我刚解决  ,找半天问题, 才发现 没把文件贴到DEBUG文件夹里 所以加载不了,对于软件来说,当前路径就找不到这玩意,  提示的也是not allow  

白板的微信

检查所有要复制到Visual Studio项目设置中的生成输出目录中的html,js等文件。在“生成操作”属性中,设置“复制到输出” =“如果更新则复制”。
随时随地看视频慕课网APP
我要回答