我正在尝试运行here中找到的Enhanced JavaScript Bridge示例。
我创建了一个新项目,并通过以下方式添加了对SWT的引用:
项目(右键单击)->属性->库->添加变量->配置变量->新建
但是,我无法运行该项目。我得到的错误取决于我所引用的SWT库:org.eclipse.swt.win32.win32.x86_64_3.103.2.v20150203-1351.jar
:错误是
无法实例化浏览器:
org.eclipse.swt.internal.mozilla.init.XPCOMInit.GREVersionRange_sizeof()Iswt-3.6.1-win32-win32-x86_64\swt.jar
:错误是
无法实例化浏览器:没有更多句柄[无法检测
XULRunner注册使用]
看来我在使用XULRunner或Mozilla浏览器时遇到问题。我尝试通过在控制台的相应文件夹中运行xulrunner.exe --register-global
来使用不同的XULRunner版本(10、18、24)。它没有帮助。我不知道该怎么办
我的系统是:
Windows 7 64位
蚀月神4.4.2
最佳答案
好的,所以我设法通过以下方式使XULRunner工作:
1)下载XULrunner 24.0。您可以在这里找到我使用的版本:
64位:https://osdn.net/projects/sfnet_runawfe/downloads/SRC%20and%20BIN%20files/extras/xulrunner-1.9.2.25-win64.zip/
32位:http://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/24.0b10/runtimes/xulrunner-24.0b10.en-US.win32.zip
2)在Java代码中,我创建了一个Composite来包含我的Browser对象。
在其构造函数中,将路径设置为在步骤1中下载的xulrunner文件夹,然后实例化浏览器:
public class MyBrowserComp extends Composite {
private String pathToXulrunner = "C:\\path\\to\\xulrunner";`
private Browser browser;
public MyBrowserComp(..) {
System.setProperty("org.eclipse.swt.browser.XULRunnerPath", pathToXulrunner);
browser = new Browser(this, SWT.MOZILLA);
}
}