【发布时间】:2014-11-21 01:13:54
【问题描述】:
我使用 CefSharp 处理 2 个方案:“http”和“uc”。 起初我通过http加载页面。之后,我调用了“uc”链接。出现“仅 HTTP 支持跨源请求”错误。
到目前为止,我找不到任何解决方案。如何解决这个问题?
【问题讨论】:
标签: cross-domain chromium-embedded cefsharp
我使用 CefSharp 处理 2 个方案:“http”和“uc”。 起初我通过http加载页面。之后,我调用了“uc”链接。出现“仅 HTTP 支持跨源请求”错误。
到目前为止,我找不到任何解决方案。如何解决这个问题?
【问题讨论】:
标签: cross-domain chromium-embedded cefsharp
关于这个主题的 Chromium Embedded 指南中有一段: 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);
【讨论】: