FireFox使用的是Gecko内核,如果我们想在自己的程序里用,是否可以呢?
答案是肯定的,因为Gecko内核有for Delphi的封装!下面我们就用它来做一个最简单的Gecko浏览器
首先下载Gecko SDK,这个是Gecko内核的开发包,必须下载,不然不能开发的
然后下载Gecko Components,这套组件用于在Delphi中添加Gecko Browser,安装好之后就像在程序中使用IE内核一样简单。
接着,我们需要一个完整的Gecko运行环境,下载下来之后,会发现它的目录结构像极了FireFox。而事实上,它们也是完全一致的,换言之,这个运行 环境就是FireFox的运行环境。如果你的电脑上已经安装了FireFox2.5以上版本,那么恭喜你,你不需要再下载这个10多M的运行环境了,直接 拿FireFox的就行。
以上的部分都安装完成后,接下来的事情就简单了。找到Gecko控件面板,把上面两个组件都拖下来
然后写一些代码:
procedure TFormMain.BtnGoClick(Sender: TObject);
begin
GeckoBrowser.LoadURI(edtURL.Text);
end;
运行一下程序,就能看到效果了,如图所示:
此时能看到页面,但是右键点击却看不到上下文菜单,没有关系,Gecko的核心和IE不同,它是什么都让用户自己处理的。于是就有了下面的代码:
procedure TForm1.GeckoBrowser1ContextMenu(Sender: TObject; aInfo: TCtxMenuInfo);
begin
ShowMessage(ainfo.AssociatedLink);
end;
当用户右键点击页面时,会产生一个OnContextMenu事件,这个事件即可以处理上下文菜单了
关键的属性ainfo.AssociatedLink指出了当前右键点击的链接URL,该怎么用它已经很清楚了吧
Gecko提供的属性,事件等都不多,但是可扩展性非常的强,当然了,这需要开发人员对SDK相当的熟悉,才能灵活的使用。
现在Delphi程序员在浏览器内核的选用上,又多了一种选择!
全套Gecko SDK及控件下载:点击进入下载页