欢迎来到老马的领地~ 这是“压风式散热底座”发明者的个人网站:)
最近的项目中需要集成浏览器功能,因为需要加载联机页面。

而之前版本使用的是IE内核,结果遇到了坑,那就是版本问题。。。

XP下,有个别用户由于使用的是其它内核的浏览器(这年头纯粹使用IE的人应该不多了吧),导致了其IE版本还是6。

然后呢,项目中加载的联机页面显示的是一个曲线,使用的是Highcharts组件,IE6中无法正常工作。。。此为坑一。

IE6的客户,就让它升级到IE8吧,没办法。。。

而为了让页面正确工作,至少要IE8,那么程序里就通过设置注册表的方式,让所使用的IE内核强制为IE8模式,就算别人机器上装的是更高版本也没办法(其实从IE9开始貌似就支持GPU加速了,速度已经上去)。

此为坑二。

折腾来折腾去,发现最理想的办法,还是不使用IE内核-_-!

项目是打算用C#重写,于是就找了一下C#下能用的其它浏览器内核,找了一圈,比较简单容易上手的就算是WebKit.Net项目了。

这个项目的最新版本是0.5,貌似多年未更新了,但对于我这个要求来说完全满足,使用上也简单,只有一个WebBrowser控件而已。

代价就是项目编译后的大小从几百K,一下子增加14M,这还是压缩后的包,解压缩出来有几十兆,汗。但能避免IE的坑,也值了。

另,WebKit.Net中默认是不带FLASH插件的,导致播放不了FLASH动画。于是从傲游的目录下找到了NPSWF32xxxxxxx.dll,去掉版本号就成了NPSWF32.dll,放到WebKit.Net目录下的plugins目录中,就搞定。

整个示例包含了WebKit.Net 0.5版所有文件以及FLASH插件(webkit目录),使用VS2010,IDE中调试时请把webkit目录中所有文件复制一份到Debug或Release目录,与目标EXE同目录才行。

下载地址:

点击下载webkit.net0.5_flash.rar
1 条评论
# 1: supperlitt said:
2016-12-01 13:17:39
感谢分享。
添加评论

昵称 *

E-mail