在百度网盘的网页中,点击【下载】按钮,首先会检讨本地是否已经启动客户端网盘。
如果未启动,则弹出提示信息奉告用户须要打开客户端程序进行下载。
这便是一个范例的Web网页中启动客户端程序的场景。
更形象的运用处景是,WinForn/WPF客户端程序嵌入Web程序,Web程序的网页中js调用WinForm/WPF窗体以及业务方法。
后面会详细的先容。

  WinForm程序中集成网页的基本事理便是通过一个包含类似浏览器功能的控件,将Web网页载入并解析渲染出来。
下面紧张先容 WinForm 集成 Web 网页的几种实现办法。

  评论辩论集成的问题之前,先理解一下浏览器的内核

html嵌套aspxWinForm/WPF法式嵌入Web网页的解决计划 React

  浏览器最主要或者说核心的部分是“Rendering Engine”,可大概译为“渲染引擎”,不过我们一样平常习气将之称为“浏览器内核”。
卖力对网页语法的阐明(如标准通用标记措辞下的一个运用HTML、JavaScript)并渲染(显示)网页。
以是,常日所谓的浏览器内核也便是浏览器所采取的渲染引擎,渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。
不同的浏览器内核对网页编写语法的阐明也有不同,因此同一网页在不同的内核的浏览器里的渲染(显示)效果也可能不同,这也是网页编写者须要在不同内核的浏览器中测试网页显示效果的缘故原由。

内核分类

Trident(MSHTML、IE内核)

  内核被包含在全天下最高的利用率的操作系统中,即为Windows操作系统,以是我们又常常把它称之为IE内核。

  Trident内核的常见浏览器有: 

IE6、IE7、IE8(Trident 4.0)、IE9(Trident 5.0)、IE10(Trident 6.0)、IE11360安全浏览器(1.0-5.0为Trident,6.0为Trident+Webkit,7.0为Trident+Blink)360极速浏览器(7.5之前为Trident+Webkit,7.5为Trident+Blink)百度浏览器(早期版本)天下之窗浏览器(最初为IE内核,2013年采取Chrome+IE内核)UC浏览器(Webkit内核+Trident内核)其他等

  个中部分浏览器的新版本是“双核”乃至是“多核”,个中一个内核是Trident,然后再增加一个其他内核。
海内的厂商一样平常把其他内核叫做“高速浏览模式”,而Trident则是“兼容浏览模式”,用户可以来回切换。

Gecko(Firefox内核)

  Gecko内核常见的浏览器:Mozilla Firefox、Mozilla SeaMonkey、waterfox(Firefox的64位开源版)、Iceweasel、Epiphany(早期版本)、Flock(早期版本)、K-Meleon。

Webkit(Safari内核,Chrome内核原型,开源)

  WebKit内核常见的浏览器:Chrome、傲游浏览器3、Apple Safari (Win/Mac/iPhone/iPad)、Symbian手机浏览器、Android 默认浏览器。

参考网站:https://liulanmi.com/labs/core.html

Blink

  Blink是一个由Google和Opera Software开拓的浏览器排版引擎,Google操持将这个渲染引擎作为Chromium操持的一部分,并且在2013年4月的时候公布了这一。
这一渲染引擎是开源引擎WebKit中WebCore组件的一个分支,并且在Chrome(28及今后版本)、Opera(15及今后版本)和Yandex浏览器中利用。

浏览器内核检测

ie.icoa.cn

https://ie.icoa.cn 可检测 PC 或手机浏览器内核和操作系统类型,包括Google Chrome的WebKit、IE的Trident、ME的Edge、Firefox的Gecko/Servo,以及Windows/MacOS/Linux/iOS/Android等的判断。

http://mybrowse.osfipin.com

WinForm Browser 控件

WebBrowser

   微软WinForm开拓框架中老牌控件。

默认基于IE7内核,对H5网页加载支持不完善。
只支持单线程模式,大部分对其操作必须在创建它的线程中实行,不可以在其它线程中调用其方法或属性。
性能相对较弱。
CefSharp【推举】

  CefSharp是一种将功能完好的符合标准的web浏览器嵌入C#或VB.NET运用程序的大略方法。
CefSharp拥有WinForms和WPF运用程序的浏览器控件,以及自动化项目的OffScreen版本。
CefSharp基于Chromium Embedded Framework,这是Google Chrome的开源版本。

CefSharp中文帮助文档,请点击查看免费、开源:https://github.com/cefsharp/CefSharp支持JS、C#、WinForm窗体之间相互通讯与调用。
兼容性较好,支持H5、CSS5、WebGL等。
支持获取Cookies较全面。

实际项目运用效果如下:

Miniblink

  Miniblink是一个追求极致小巧的浏览器内核项目,全天下第三大盛行的浏览器内核控件。
其基于chromium最新版内核,去除了chromium所有多余的部件,只保留最基本的排版引擎blink。
Miniblink保持了10M旁边的极简大小,是所有同类产品最小的体积,同时支持windows xp、npapi。

开源地址:https://github.com/weolar/miniblink49/releasesGeckoFX

  GeckoFX是skybound事情室开拓的一个开源的用于方便将gecko引擎(最紧张的浏览器是firefox)链接到.net 窗体运用的一个组件。
它是用C#写成的,里面有大量的C#的注释,geckofx是最完美的默认的iE核心webbrowse控件的替代控件。

DotNetBrowser

  DotNetBrowser能嵌入一个基于Chromium的WPF或WinForms组件到你的.NET运用中,用来显示利用HTML5、CSS3、JavaScript、Silverlight等技能构建的当代网页。

收费EO.WebBrowser官网:https://www.essentialobjects.com/Products/WebBrowser/Default.aspx收费

Microsoft Edge WebView2

  Microsoft Edge WebView2 控件许可在本机运用中嵌入 web 技能(HTML、CSS 以及 JavaScript)。
WebView2 控件利用 Microsoft Edge(Chromium) 作为绘制引擎,以在本机运用中显示 web 内容。
利用 WebView2,可以在本机运用的不同部分嵌入 Web 代码,或在单个 WebView 实例中天生所有本机运用。

官网:https://docs.microsoft.com/zh-cn/microsoft-edge/webview2免费。
出身较晚,比较CefSharp,功能较弱。

以是在客户端程序中嵌入网页程序,首选CefSharp。

欢迎关注、点赞、评论、转发,每天都能获取IT优质内容。

#公民网评钱枫被指性侵#

#警方通报钱枫涉性侵案#

#塔利班:所有美军必须在31日前撤离#

#蔡英文接种台湾高端疫苗第一针#

#东京奥运会金牌掉皮 缘故原由在哪#