我使用CefSharp来处理2个方案:"http"和"uc"。起初我通过http加载页面。之后,我调用了一个"uc"链接。它发生了错误"跨源请求仅支持 HTTP"。
直到现在,我找不到任何解决方案。如何解决这个问题?
铬嵌入式指南中有一节是关于这个主题的:https://code.google.com/p/chromiumembedded/wiki/GeneralUsage#Request_Handling
您需要注册自定义"uc"架构并设置 "标准" 标志才能使 CORS 正常工作。
或者,您可以为"http"和"customdomain"注册请求处理程序,而不是使用自定义方案 - 您将处理http://customdomain/*
的请求,并且 CORS 将像使用 http 一样工作。
例如:
var your_factory = XX;
var settings = new CefSettings();
settings.BrowserSubprocessPath = "CefSharp.BrowserSubprocess.exe";
settings.RegisterScheme(new CefCustomScheme {
SchemeName = "http",
SchemeHandlerFactory = your_factory,
DomainName = "customdomain",
IsStandard = true
});
Cef.Initialize(settings);