小编Hx7*_*x71的帖子

CefSharp和Crossdomain

我正在尝试在.NET 4.0应用程序中使用CefSharp Web浏览器.我从html和js内容加载页面存储localy.因此,Web浏览器会打开包含file://协议的页面.

页面转换是使用jQuery(ajax)进行的,我得到了一个 XMLHttpRequest cannot load file:///XXXXXXXX/Debug/res/www/shared/js/src/views/homeView.html. Cross origin requests are only supported for HTTP.

我尝试使用Schemehandler并覆盖ProcessRequest函数来处理file://域内的页面加载.

class SchemeHandlerFactory : ISchemeHandlerFactory
{
    public ISchemeHandler Create()
    {
        return new SchemeHandler();
    }
}

class SchemeHandler : ISchemeHandler
{
    public SchemeHandler()
    {
    }

    public bool ProcessRequest(IRequest request, ref string mimeType, ref Stream stream)
    {
        var uri = new Uri(request.Url);
        var segments = uri.Segments;
        var file = segments[segments.Length - 1];

        var bytes = File.ReadAllBytes(request.Url.Replace("file:///",""));
            stream = …
Run Code Online (Sandbox Code Playgroud)

c# xmlhttprequest cross-domain chromium-embedded cefsharp

4
推荐指数
1
解决办法
6680
查看次数