C#将WebBowser控件替换为Chrome内核

原文:C#将WebBowser控件替换为Chrome内核

摘要

  由于最近要做一个浏览器式的软件,其中有不少地方需要使用到jQuery和BootStrap,但是在C#中,默认的WebBrowser控件默认使用的是IE的core,而低版本的IE在JS加载上总是容易有问题,因此,打算使用Chrome的内核替换IE。

准备工作

  首先,你要明白Chrome浏览器的内核不叫Chrome,而是Webkit,因此,我们只要找到Webkit的项目就好了。

  1.下载WebKit的项目bin,网址如下:

  https://sourceforge.net/projects/webkitdotnet/files/WebKit%20.NET%200.x/0.5/WebKit.NET-0.5-bin-cairo.zip/download

  2.下载解压后的目录结构如下:

  

  3.将bin文件夹下的所有(没错!是所有文件复制),并粘贴到项目文件夹下,目标目录是:项目名/bin/Debug/

  

  4.导入Webkitbrowser的dll到你的项目中。在VS2015的操作如下(其他的类推):

   在Solution Explorer下,选中你的项目名,然后右键,选择Add,然后选择Reference,如下图:

  

  5.在弹出的对话框里。选择Browse -> Browse...,然后选择你的:项目名/bin/Debug下之前粘贴的WebKitBrowser.dll导入,结果如下图:

  

编码阶段

  1.你要做的,首先和之前一样,直接拖出一个C#自带的WebBrowser控件,然后调整属性样式,这个依个人项目而定。

  2.打开你项目窗体对应的布局设计文件,例如我的:Form.Designer.cs,把其中的这行代码:

1 this.webBrowser1 = new System.Windows.Forms.WebBrowser();

  替换成下面这行代码(VS提示Error的,按照VS给的using WebKit就行了):

1 this.webBrowser1 = new WebKit.WebKitBrowser();

  3.大功告成了,通过这个网站可以测试浏览器的内核,网址:http://ie.icoa.cn/

  下面是配置前和配置后的对比:

  配置前:

  

  配置后:

  

结语

  其实换个内核并没有那么复杂,勇于尝试,我想你也一定可以的,有疑问欢迎留言!

  

时间: 2024-10-05 02:05:57

C#将WebBowser控件替换为Chrome内核的相关文章

C#Winform使用CefSharp将WebBowser控件替换为Chrome内核

先废话一段 ,好久没写博客了,也是跟环境工作有关,之前做技术,天天博客园的翻着 (还是喜欢博客园,因为大家都无私分享交流啊,不像CSDN啥东西都要积分,鄙视之),现在偶尔需要个什么东西了才打开VS写写,刚一上来,看到以前关注的朋友还有坚持写博客的 ,以前还时不时的记录下心情想法,现在也没那个兴趣了,7年改变一个人,看来是吧,回归主题~ 公司参加某信息展会,需要把几个网站系统类似PPT轮播一样在一个屏幕展示出来,找不到解决方案,然后我就试着揽下了这个任务,先想到用winform的webbrowse

过滤HTML控件,将输入控件替换成SPAN

/* 功能:过滤HTML控件,将输入控件替换成SPAN Author: jop DateTime: 2008-12-29 参数说明:elements 要删除的控件数组: */ function RemoveControl(elements) { var arrObj = new Array(); var count = elements.length; for(var i=0;i<count;i++) { if(elements[i] == undefined) continue; var ob

调整.NET控件WebBrowser的默认浏览器内核

今天在调试程序的时候,需要使用C#的客户端远程登录一个Web页面,用到了WebBrowser控件.但是却发现了一件很神奇的事情: 当前浏览器使用的内核,可以通过登录下面这个网站获取:http://ie.icoa.cn/ 我的IE版本为IE8,在使用IE登录页面的时候,使用的内核是IE8,登录该网站的截图如下: 但是当我用WebBrowser登录该页面时,显示使用的内核却是IE7: 上图的程序是一个测试程序,仅包含一个WebBrowser,这个程序的名称是TestWebBrowser.exe.可以

使用CefSharp 在C#用户控件中嵌入Chrome浏览器使用方法

CEF(Chromium Embedded Framework, 嵌入式Chromium框架)是C/C++开发的库 目前 Google Chrome(Google浏览器),Chromium浏览器,Opera等都是基于CEF为核心,Webkit引擎的浏览器. Xilium.CefGlue是对CEF项目的.net的包装,它是用P/Invoke的方式来调用CEF类库.CEFSharp是用C++/CLI的方式来调用CEF类库的. 原先使用的是Xilium.CefGlue,如果只是单纯在窗口上实现的话是没

WPF 控件库——仿制Chrome的ColorPicker

一.观察 项目中的一个新需求,需要往控件库中添加颜色拾取器控件,因为公司暂时还没有UI设计大佬入住,所以就从网上开始找各种模样的ColorPicker,找来找去我就看上了谷歌浏览器自带的,它长这个样: 看上去不错,可以搞!搞之前得观察一下这里面可能的一些坑.对WPF而言,圆角阴影等效果都是基本操作,这里就不说了. 首先我们注意到上图中有两个拖动条,一个背景是可见光谱,另一个背景是颜色渐变和方块平铺的叠加.因为需求里没有屏幕取色的功能,所以在拖动条左侧的拾取图标可以去掉,只保留当前颜色预览,这样会

指定Webbrowser控件所使用IE内核版本

虽然电脑上安装了IE8或者更高版本的IE浏览器,但Webbrowser控件默认总是使用IE7内核兼容模式来显示网页内容,导致很多网页样式无法正常显示,例如IE7不兼容HTML5,解决方法是在注册表中为你的进程指定引用IE的版本号. 比如我的程序叫做a.exe 对于32位程序: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATI

C# Chrome内核

C#将WebBowser控件替换为Chrome内核 摘要 由于最近要做一个浏览器式的软件,其中有不少地方需要使用到jQuery和BootStrap,但是在C#中,默认的WebBrowser控件默认使用的是IE的core,而低版本的IE在JS加载上总是容易有问题,因此,打算使用Chrome的内核替换IE. 准备工作 首先,你要明白Chrome浏览器的内核不叫Chrome,而是Webkit,因此,我们只要找到Webkit的项目就好了. 1.下载WebKit的项目bin,网址如下: https://s

file控件change事件触发问题

最近,项目中需要用到一个图片上传的功能,我用的file控件来选取图片文件,然后利用js读取文件来预览图片,最后再根据用户的操作来决定是否上传文件. 其中碰到了一个奇怪的问题:在选取完第一张图片,并上传后,再选取第二张图片的时候,并没有触发file的change事件. 问了下度娘,各种解决方案很多: 1)有的说要使用live来注册事件,如可以写成$('#fileID').live('change,function(){//do something}); 2)有的说要用replaceWith把原来的

asp.net 用户控件

转载自http://www.cnblogs.com/SkySoot/archive/2012/09/04/2670678.html 在 .NET 里,可以通过两种方式把自己的控件插入到 Web 窗体框架中: 用户控件:它是一小段页面,可以包括静态 HTML 代码和 Web 服务器控件.用户控件的好处是一旦创建了它,就可以在同一个 Web 应用程序的多个页面重用它.用户控件可以加入自己的属性,事件和方法. 自定义服务器控件:它是被编译的类,它通过编程生成自己的 HTML .服务器控件总是预编译到