我有一个Cefsharp应用程序,其中包含带有Javascript的HTML页面。如果我在Windows中打开cef应用程序,Js会进行API调用,但我通过testcompelete打开相同的cef应用程序时不会发生大多数API调用。
在调试应用程序时,我收到CORS警告。 我正在使用CefCustomScheme,其中已指定根文件夹路径,schemeName和主机名。并在 wpf:chromewebrowse 标记中的地址中提供了相同的shemeName和主机名。如果我在“地址源”绑定中对根文件夹路径进行硬编码,即使在testcomplete中,它的工作也很好。
private static CefCustomScheme GetAlmanacScheme(IAppSettings appSettings)
{
try
{
var almanacFolder = appSettings.Settings["ALMANAC_WIDGET_PATH"];
if (string.IsNullOrWhiteSpace(almanacFolder))
{
almanacFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), "Thermo", "InstConnectAgent", "AlmanacWidget");
}
var factory = new FolderSchemeHandlerFactory(almanacFolder, "thermo", "almanac");
return new CefCustomScheme() { SchemeName = "thermo", SchemeHandlerFactory = factory, IsCorsEnabled = true };
}
catch
{
return null;
}
}
来源是
private const string WidgetUrl = "thermo://almanac";
public string Source
{
get
{
return WidgetUrl;
}
}