C#:使用CefSharp(Chromium)开发多选项卡浏览器

基于CefSharp开发的一款多选项卡浏览器控件,支持视频播放、网页调试等功能,可实现与JavaScript交互及自动化控制。

1、开发场景

  • 在使用winform自带的webbrowser控件时,要考虑IE的版本以及HTML5的渲染问题,使用体验十分糟糕。毕竟webbrowser只是IE浏览器的一个包装壳罢了。
  • 因此,考虑使用chromium的开源版本,开发一个可以使用多种应用场景的浏览器控件。 经过几番周折,终于基于CefSharp完成了该控件的设计,并结合选项卡控件开发了一款“多选项卡浏览器”。
  • 此浏览器的基本功能和使用体验,接近Chrome浏览器,可以内嵌使用,可以用来做爬虫程序,可以与JavaScript交互进行自动化控制。
  • 但毕竟精力有限,还存在一些问题尚未解决。
    在这里插入图片描述

2、效果展示

在这里插入图片描述

3、开发环境

  • vs2017
  • .net framework 4.6.1
  • CefSharp版本:63.0.3
  • 选项卡控件:TabStrip.dll
  • winform进行窗体设计

4、实现功能

  1. 支持浏览器播放视频(这一点很关键)。
  2. 输入网址,打开网页。
  3. 浏览器的前进、回退功能。
  4. 点击网页链接,在新选项卡打开。
  5. 在新的窗口,打开当前网页。
  6. 按F12键,进行网页调试。
  7. 查看网页源代码。
  8. 浏览器右键菜单设计。
  9. ctrl+T 新建选项卡; ctrl+N 新建窗口;等常用快捷键的实现。
  10. 关闭左侧、右侧、其他选项卡。
  11. 与JavaScript的交互设计。
    在这里插入图片描述

5、关键说明

问题1:使用默认的cefsharp,编译后的浏览器无法播放视频。

因为cefsharp默认是不支持H.264编码,因此无法播放视频。
解决办法:
使用支持H.264编码的【cef.redist.x64.3.3239.1723】、【cef.redist.x86.3.3239.1723】替换Nuget下载安装使用的两个文件夹。
在这里插入图片描述
这里设置【cef.redist.x64.3.3239.1723】、【cef.redist.x86.3.3239.1723】编译的复杂性,因此自己编译对应版本很困难。不如直接替换。这也是选择“CefSharp版本:63.0.3”的原因。
这两个“支持H.264编码”的版本很难找,如有需要,可以联系我。

问题2:增加CefSharp对AnyCPU支持

使用Nuget安装CefSharp版本后,编译时会有Warning:提示不支持AnyCPU。

1、修改项目的csproj文件:将<CefSharpAnyCpuSupport> true </ CefSharpAnyCpuSupport

评论 37
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

指尖码动

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值