1

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

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

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

从我所做的搜索中,我找到了一个 Webkit 到 SWT 的端口,该端口现在已失效,以及我已经完成的一些示例。是否有任何我无法找到的类似 nsIWebBrowser 的 Webkit 对象?如果没有,我猜我最好的选择是使用 mozilla,或者使用 javascript 自己编写这些函数并扩展BrowserFunction 类

如果我选择 mozilla,我将如何轻松地将 XLU 运行器与我的最终应用程序打包在一起,以便用户不必单独安装它?如果我选择 webkit,是否有任何关于使用带有 BrowserFunction 类的 javascript 来实现这种功能的好的文档。

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

感谢您的帮助!

4

1 回答 1

3

从我所做的搜索中,我找到了一个 Webkit 到 SWT 的端口,该端口现在已失效,以及我已经完成的一些示例。是否有任何我无法找到的类似 nsIWebBrowser 的 Webkit 对象?

如果您正在寻找与 nsIWebBrowser 完全一样的东西,那么没有。但你可能会发现这org.eclipse.swt.internal.webkit.IWebView有点相似。

如果没有,我猜我最好的选择是使用 mozilla,或者使用 javascript 自己编写这些函数并扩展 BrowserFunction 类。

mozilla 实现的根源在于The Original Code 是 Mozilla Communicator 客户端代码,它于 1998 年发布,而 Webkit 实现则由 SWT 团队完成。根据我的经验,我发现使用 XULRunner 有点困难。该问题通常是由于 SWT 依赖于特定版本的 XULRunner。请参阅SWT 常见问题解答

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

如果我选择 mozilla,我将如何轻松地将 XLU 运行器与我的最终应用程序打包在一起,以便用户不必单独安装它?

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

如果我选择 webkit,是否有任何关于使用带有 BrowserFunction 类的 javascript 来实现这种功能的好的文档。

唔。没有把握。您必须进一步搜索它或等待知道它的人。

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

学习org.eclipse.swt.browser.Webkit班及其辅助班,如, org.eclipse.swt.browser.WebDownloadDelegate.

于 2013-03-28T04:53:51.483 回答