【问题标题】:How do I access local resources on a remote webpage with CefSharp?如何使用 CefSharp 访问远程网页上的本地资源?
【发布时间】:2014-01-26 00:23:09
【问题描述】:

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

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


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

如您所见,我将 FileAccessFromFileUrlsAllowedUniversalAccessFromFileUrlsAllowed 设置为 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

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

【问题讨论】:

    标签: c# javascript cefsharp


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

        browserSettings.LocalStorage = CefState.Enabled;

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-11-01
          • 2011-12-09
          • 2019-06-15
          • 2010-10-16
          • 1970-01-01
          • 2010-11-07
          • 1970-01-01
          相关资源
          最近更新 更多