项目想用c# 做一个简单的客户端,进行网页加载。所以进行了一定研究。
1、framework框架支持4.5以上 。
2、nuget 安装包:
3、 初始化cef:因为原有前端项目,需支持语音、摄像头以及屏幕共享等功能所以需要对cef进行一定设置:
命令可参考:List of Chromium Command Line Switches « Peter Beverloo
4、winform与js通信
4.1 ChromiumWebBrowser可以使用JavascriptObjectRepository对需要通信的类进行注册:
eg:
bs.JavascriptObjectRepository.Register("jsObj", new ShowMessageBox(), false, options: BindingOptions.DefaultBinder);
4.2 在js中绑定
bs.FrameLoadEnd += (t, s) =>
{
StringBuilder sb = new StringBuilder();
sb.Append("(function(){")
.Append("CefSharp.BindObjectAsync('jsObj');")
.Append("})();");
bs.GetFocusedFrame().EvaluateScriptAsync(sb.ToString());
};
参考网址:
为CEF 3增加应用程序共享功能_我的玻璃盒子-优快云博客
C# CefSharp 新版本(84及以后版本) 如何在js中注册对象直接调用c#方法_Gabriel_gu的博客-优快云博客