使用WEBKIT的SWT Browser高级功能

时间:2013-03-27 20:29:37

标签: java browser webkit swt zoom

我目前正在构建一个必须易于移植且具有简单,功能齐全的Web浏览器的SWT应用程序。我选择使用webkit主要是因为它已经安装在osx,主要的Linux发行版上,并且可以通过安装Safari轻松安装在Windows上。

我已经为我的浏览器添加了基本功能,你可以使用浏览器类(状态文本,进度条等)明确地执行所有操作,但是我在添加必须与之更直接通信的功能时遇到了麻烦渲染引擎。

例如,我一直在尝试添加缩放功能。 SWT页面上有一个snippet,它显示了如何使用Mozilla作为渲染引擎执行此操作,但它依赖于browser.getWebBrowser()函数,该函数除了使用mozilla之外的任何引擎都返回null。

从我已经完成的搜索中,我发现了一个WebT到SWT的端口现在已经不存在了,还有一些我已经完成的事情的例子。是否有任何类似nsIWebBrowser的Webkit用户无法找到?如果没有,我猜我最好的选择是使用mozilla,或者自己使用javascript编写这些函数并扩展BrowserFunction class

如果我选择mozilla,我能够轻松地将XLU跑步者打包到我的最终应用程序中,以便用户不必单独安装它吗?如果我选择webkit是否有任何好的文档我无法找到有关使用浏览器功能类的JavaScript来实现这种功能。

我最终还必须实现查找,下载,视频播放和撤消/重做。你会建议我进入哪个方向?

谢谢你的帮助!

1 个答案:

答案 0 :(得分:3)

  

从我做过的搜索中,我找到了一个WebT到SWT的端口   现在已经不存在了,还有一些我已经做过的事情的例子。   是否有类似于Webkit的nsIWebBrowser类对象我还没有   能够找到?

如果您正在寻找与nsIWebBrowser完全相同的内容,那么。但你可能会发现这个org.eclipse.swt.internal.webkit.IWebView有些相似。

  

如果没有,我猜我最好的选择是使用mozilla,还是写   这些功能我自己使用javascript和扩展   BrowserFunction类。

Mozilla实现的根源在于 原始代码是Mozilla Communicator客户端代码,该代码于1998年发布。 ,而Webkit实现由SWT团队完成。根据我的经验,我发现使用XULRunner有点困难。问题通常是由于SWT依赖于特定版本的XULRunner。见SWT FAQ

扩展BrowserFunction可能很复杂,但你可以尝试一下。

  

如果我选择mozilla,我能够轻松地打包XLU   我的最终应用程序的跑步者,以便用户不必   单独安装?

在启动应用程序之前,只需捆绑适当的XULRunner并设置正确的系统属性即可。请参阅SWT FAQ

  

如果我选择webkit是否有任何好的文档,我没有   能够找到有关使用BrowserFunction类的JavaScript的   实现这种功能。

嗯。不确定。你必须进一步谷歌或等待知道它的人。

  

我最终还是要实现查找,下载,视频   播放和撤消/重做。你会建议我进入哪个方向?

研究org.eclipse.swt.browser.Webkit类及其支持类,例如org.eclipse.swt.browser.WebDownloadDelegate