在花了一天的时间在这里和那里阅读后,我决定寻求帮助,因为我找不到解决问题的方法。
我必须创建一个嵌入了完全支持 HTML5 的浏览器的 java/swt 应用程序。这可以在具有 SWT.NONE 浏览器类型(使用 webkit)的 linux 和 osx 上开箱即用。不幸的是,我在 Windows 上遇到了很多麻烦。
首先让我说我在 Windows 8 64 位上使用 SWT 4.2.x。
为了使 SWT 浏览器与 webkit 一起工作,我必须安装 32 位 JVM 并手动指向它(因为默认 64 位 JVM 上的 -d32 开关表示没有安装 32 位 JVM)。还安装了 Safari。而且我还必须使用 32 位 SWT 库。当我最终运行它时,我发现 Windows 版 Safari 不支持拖放,因为经验丰富并在此处说明:
http://www.w3schools.com/html/html5_draganddrop.asp
所以我决定改用Mozilla。根据 Eclipse/SWT 文档,我已经下载并安装了 XULRunner 1.8.0.1。我已将其解压缩到 C:\Program Files (x86)\Mozilla\XULRunner\1.8.0.1\xulrunner 并运行 xulrunner --register-user (以及 --register-global)
最后在我的代码中我添加了
System.setProperty("org.eclipse.swt.browser.DefaultType", "mozilla");
我还设置了一个指向同一个 XULRunner 安装目录的全局环境变量“MOZILLA_FIVE_HOME”。
但是,当我运行我的 java 程序(32 位 JRE,32 位 SWT)时,我得到了
Exception in thread "main" org.eclipse.swt.SWTError: No more handles [MOZILLA_FIVE_HOME may not point at an embeddable GRE]
我该如何解决?提前致谢!
编辑: 我不是以管理员身份运行命令提示符,并且 xulrunner 没有注册。作为管理员,工作。但是我仍然有麻烦:XULRunner 1.9.x 似乎不支持 HTML5。例如 element.children 不受支持。我设法安装了似乎具有所需支持的 XULRunner 10.0.2。然而,只要我点击我的嵌入式浏览器,应用程序就会崩溃,而不会在 java 输出控制台上打印任何错误......
我需要找到一个解决方案才能在 Windows 上使用 ecent 版本的 mozilla 或最新版本的 webkit