如何解决IJavascriptCallback 挂起应用程序 CefSharp
当我以如下方式执行回调时,程序完全冻结:
[JavascriptIgnore]
private async Task<bool> ExecuteCallback(IJavascriptCallback callback,params object[] parms)
{
if (callback != null && callback.CanExecute && !callback.IsDisposed)
{
JavascriptResponse response = await callback.ExecuteAsync(parms);
return response.Success && bool.TryParse(response.Result?.ToString(),out bool result) && result;
}
return false;
}
如何创建浏览器:
CefSettings cefSettings = new CefSettings()
{
CachePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),"CefSharp\\Cache")
};
cefSettings.CefCommandLineArgs.Add("enable-media-stream");
cefSettings.CefCommandLineArgs.Add("use-fake-ui-for-media-stream");
cefSettings.CefCommandLineArgs.Add("enable-usermedia-screen-capturing");
if (!Cef.IsInitialized)
{
Cef.Initialize(cefSettings,performDependencyCheck: true,browserProcessHandler: null);
}
Browser = new HandBrowser("dummy:")
{
JsWorker = new JsWorker(),};
Browser.Address = "www.google.ru";
Browser.JavascriptObjectRepository.Settings.LegacyBindingEnabled = true;
Browser.JavascriptObjectRepository.NameConverter = null;
Browser.JavascriptObjectRepository.Register("worker",Browser.JsWorker,isAsync: false);
请告诉我为什么会这样,我已经花了很多时间寻找问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。