Как заставить элемент управления SWT Browser использовать Mozilla вместо IE в Windows?

Я хочу, чтобы SWT использовал Firefox на всех платформах, на которых я запускаю свое приложение. Но SWT, конечно же, по умолчанию использовал IE в Windows. Любая идея, как заставить SWT использовать Mozilla в Windows. Я знаю, что мне нужно установить XULRunner на машину.


person Bahaa Zaid    schedule 18.01.2010    source источник


Ответы (2)


Забавно, что вы спросили - мне просто нужно было то же самое для нашего проекта.

  1. Перейдите на сайт ATF (http://wiki.eclipse.org/ATF/Installing) — там есть как d/l XUL Runner с сайта Zend.
  2. Этот код позволит вам запустить браузер без регистрации XULRunner:

Код:

Bundle bundle = Platform.getBundle("org.mozilla.xulrunner"); //$NON-NLS-1$
if (bundle != null) 
{
    URL resourceUrl = bundle.getResource("xulrunner"); //$NON-NLS-1$
    if (resourceUrl != null) {
        try {
            URL fileUrl = FileLocator.toFileURL(resourceUrl);
            File file = new File(fileUrl.toURI());
            System.setProperty("org.eclipse.swt.browser.XULRunnerPath",file.getAbsolutePath()); //$NON-NLS-1$
        } catch (IOException e) {
            // log the exception
        } catch (URISyntaxException e) {
            // log the exception
        }
    }
}

Подробнее здесь: http://www.eclipse.org/swt/faq.php#howusemozilla

Примечание: мой код немного отличается от часто задаваемых вопросов (другой идентификатор плагина) - у меня так работает.

person Eugene    schedule 19.01.2010
comment
Старый. устаревший. устарел. - person Chexpir; 07.05.2015

Я только что нашел ответ.

  1. Вам необходимо зарегистрировать XULRunner на вашем компьютере. Для этого просто распакуйте его, а затем выполните эту команду в командной оболочке xulrunner.exe --register-global.
  2. Передайте стиль SWT.MOZILLA конструктору браузера: Browser browser = new Browser(shell, SWT.MOZILLA);
person Bahaa Zaid    schedule 18.01.2010
comment
Я - эта ошибка, не могу найти решение: java.lang.UnsatisfiedLinkError: org.eclipse.swt.internal.mozilla.init.XPCOMInit.GREVersionRange_sizeof()I - person Chexpir; 07.05.2015
comment
Когда я запускаю xulrunner.exe --register-global, он говорит мне, что Error: couldn't parse application.ini. - person kenshinji; 06.12.2016