# CatEars3.CefSharp
**Repository Path**: goto_Android/catears3-cefsharp
## Basic Information
- **Project Name**: CatEars3.CefSharp
- **Description**: 由于Nuget上的CefShrp(CefShrp.Wpf和CefSharp.WinForms)不能同时支持x86和x64,所以重新封装了一下。使CefSharp同时支持x86和x64的处理器架构。
- **Primary Language**: C#
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 2
- **Created**: 2019-08-28
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
#CatEars3.CefSharp.Wpf
【项目介绍】
1、由于Nuget上的CefShrp(CefShrp.Wpf和CefSharp.WinForms)不能同时支持x86和x64,所以重新封装了一下。
使CefSharp同时支持x86和x64的处理器架构。
2、CefSharp.Wpf、CefSharp.WinForms版本49.0.1.0,这是Nuget上最后一个支持.net4.0的版本。
【目录介绍】
┓
┣━┳ CatEars3.CefSharp // 本项目
┃ ┣━┳ CefSharp // CefSharp.Wpf 的相关文件(版本49.0.1.0,)
┃ ┣ ┣ x86 // x86 操作系统运行所需文件
┃ ┣ ┣ x64 // x64 操作系统运行所需文件
┃ ┣ ┗ Document // CefSharp相关文档
┃ ┣ CefInitializer.cs // Cef初始化类
┃ ┣ Wpf // 自己封的一个基于Wpf的浏览器
┃ ┣ CefJsCallbackBase.cs // javascript回调C#封装
┃ ┣ CefJsObjectCallback.cs // javascript回调C#封装
┃ ┣ CefJsObjectsCallback.cs // javascript回调C#封装
┃ ┗ 其它
┣━━ CatEars3.CefSharp.WpfDemo // 基于Wpf的Demo项目
┣━━ CatEars3.CefSharp.WinFormsDemo // 基于WinForm的Demo项目,不算是Demo,简单验证一下ChromiumWebBrowser是否正常
┗━━ VisualC++Redistributable2003 // VisualC++ Redistributable 2003,提供x86和x64的安装包。根据需要安装。
【运行环境】
1、本项目使用的 CefSharp 要求安装 VisualC++ Redistributable 2003。(本项目已提供)
2、支持的操作系统Windows7及以上操作系统
已经验证过的操作系统:Windows7(x86),Windows10(x64)
使用.net4.0版的CefSharp.Wpf是为了支持XP,未验证。
【使用说明】
1、【初始化】ChromiumWebBrowser使用前必须初始化,调用 CefLibraryLoader.InitializeCefSharp()
CatEars3.CefSharp.WpfDemo的App.cs内有完整的例子
2、【CSharp与浏览器交互】(参考Demo):
(1) 初始化浏览器之前使用 Browser.RegisterJsObject("jsObject", Object1); 注册一个C#对象Object1
(2) 使用 IFrame.ExecuteJavaScriptAsync(javascript) 执行javascript代码。(IFrame可以从Browser.WebBrowser.GetMainFrame()得到)
(3) js代码中可以使用刚刚注册的对象 jsObject.func(),此时对应的C#代码 Object1.func() 会触发。(方法名首字母需要小写)
(4) CefJsObjectCallback CefJsObjectsCallback类提供了当 Object1.func() 触发时调用对应的回调函数的功能
【注意事项】
1、编译器可能会提示“处理器架构不匹配”的警告,可忽略。
2、由于Cef库文件相对较大,运行Demo时候请将 CatEars3.CefSharp/CefSharp/x86和CatEars3.CefSharp/CefSharp/x64 复制到可执行文件所在路径。