How to make SWT Browser control use Mozilla instead of IE on Windows?

后端 未结 2 1336
爱一瞬间的悲伤
爱一瞬间的悲伤 2020-12-03 06:23

I want to make SWT use Firefox on all platforms I run my app on. But SWT of course used IE on Windows by default. Any idea how to make SWT use Mozilla on windows. I know tha

相关标签:
2条回答
  • 2020-12-03 06:45

    I just found the answer.

    1. You need to have XULRunner registered on your machine. To do so, just unpack it and then execute this command in the command shell xulrunner.exe --register-global.
    2. Pass the SWT.MOZILLA style to Browser constructor: Browser browser = new Browser(shell, SWT.MOZILLA);
    0 讨论(0)
  • 2020-12-03 06:52

    Funny you've asked - I just needed the same for our project.

    1. Go to ATF site (http://wiki.eclipse.org/ATF/Installing) - there's how to d/l XUL Runner from Zend site.
    2. This code will let you run the browser without registering the XULRunner:

    Code:

    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
            }
        }
    }
    

    More details here: http://www.eclipse.org/swt/faq.php#howusemozilla

    Note: my code is slightly different from FAQ (different plugin ID) - i works for me this way.

    0 讨论(0)
提交回复
热议问题