数码资讯
WebBrowser控件: GeckoFX
:::[下载源文件]:::(内含GeckoFX和XULRunner,编译即可运行)
在.NET编程中,如果要用到WebBrowser这类控件加载网页到程序里边,直观上首选的一定是VS所提供的IE。可惜,XP系统预设的版本是IE6,很多近几年的网页技术它都不支持。尽管替换为IE8会好一点,但是也好不了多少,相信XP的用户体会很深刻吧。那么,装个IE9、IE10、11、12、13、14,不就解决了?抱歉,XP系统不支持安装IE9或以上的版本。为什么?我不清楚,建议你可以问问Bill Gates。
常见的Web Browser主要有两个引擎(engine):渲染(render/layout)和脚本(script)。
1.下载GeckoFX控件
(1)GeckoFX 1.9.1: https://code.google.com/p/geckofx/
这是Gecko的.NET封装库,我们的.NET程序就是通过调用它里边的API,才能跟Gecko沟通的。
(2)XULRunner: http://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/
这是一个Mozilla所创作的软件运行环境(runtime environment),跟Adobe的AIR作用差不多,那当然就比不上Microsoft的.NET Framework啦。它里边已经集成了Gecko和SpiderMonkey,用起来挺方便的。
2.加入GeckoFX Broswer控件
解压GeckoFX文件后,把里面的dll都加进程序。你会看到一个叫GeckoWebBrowser的控件,如下图所示。
(图一)把GeckoWebBrowser控件加到程序里。
3.编译,运行
把所需代码写好,我们现在就来看看编译和运行的效果吧。
(图二)示范程序的起始页面:显示当前browser的主要信息。
可以看到,这个XULRunner的Gecko版本是1.9.1.2(甭管那个“Mozilla 5.0”)。啊?不是吧?!太旧了!最新版都已经是是27.x.x.x以上了。但是,作为一个简单的demo,请见谅。重要的是,对于HTML5那些东东的支持度,它要比IE8好多少呢?
4.PK HTML5的支持度
一如所料,尽管这个Gecko的版本是很旧,但是分数上也比IE8高2倍。当然,比较近期的Chrome31,得分是最高的。
(图三)Gecko1.9.1.2得分:155。
(图四)IE8得分:43。
(图五)Chrome31得分:503。
5.总结
我就简单地总结一下:don't use the default WebBrowser control in XP :) Thanks.