0

我一直在到处寻找,但我无法让 CefSharp 从file://URL 加载。去工作。这就是我现在所拥有的。

BrowserSettings browserSettings = new BrowserSettings();
browserSettings.FileAccessFromFileUrlsAllowed = true;
browserSettings.UniversalAccessFromFileUrlsAllowed = true;
browserSettings.DeveloperToolsDisabled = false;


this.webview = new WebView("http://google.com", browserSettings);

如您所见,我已经FileAccessFromFileUrlsAllowed设置UniversalAccessFromFileUrlsAllowed为true。

我正在尝试使用 Javascript 将本地图像添加到 DOM:

this.webview.ExecuteScript(@"
    var img = document.createElement('img');
    img.setAttribute('src','file:///C:/test.jpg');
    document.getElementsByTagName('body')[0].appendChild(img);
");

它不起作用;当我打开开发者控制台时,会弹出这个错误

Not allowed to load local resource: file:///C:/test.jpg

我整天都在努力解决这个问题,在此先感谢。

4

3 回答 3

0

请参阅此 CefSharp Google Group 线程中的问答:https ://groups.google.com/d/msg/cefsharp/4gxmKwrhDSU/V71BSQdEroMJ

于 2014-02-18T08:56:50.507 回答
0

回答一个相当老的问题,以防我的解决方案对其他人有所帮助。

我在“不允许加载本地资源:”中遇到了类似的问题,我相信我已经正确设置了所有内容。我终于意识到由于没有在 Visual Studio 中正确配置我的项目,我的一些文件没有被复制到构建输出目录。添加 html、js 等文件后,我忘记在文件 'Copy to Output' = 'Copy if newer' 上设置属性。该错误消息有点误导,因为问题是由于找不到文件造成的。

于 2018-04-09T14:51:34.743 回答
0

很老的问题,但它只是发生在我身上,我想出了一个解决方案。如果您添加下一行,以防万一它可以帮助您加载本地资源:

browserSettings.LocalStorage = CefState.Enabled;

于 2019-01-16T16:34:55.253 回答