java - 查找 SWT 浏览器的浏览器类型/版本

标签 java internet-explorer browser swt native

我遇到 Eclipse SWT 浏览器无法在一台计算机上加载某些样式的问题。我希望机器使用 IE 10 作为 native 浏览器,但我不确定如何确认这一点。有没有办法确定 SWT 决定使用的浏览器类型/版本来加载页面?

最佳答案

基于此问题已接受的答案:

How can you detect the version of a browser?

你可以这样做:

public static void main(String[] args)
{
    final Display display = new Display();
    final Shell shell = new Shell(display);
    shell.setText("Stackoverflow");
    shell.setLayout(new FillLayout());

    Browser browser = new Browser(shell, SWT.NONE);

    browser.addProgressListener(new ProgressListener()
    {
        @Override
        public void changed(ProgressEvent progressEvent)
        {
        }

        @Override
        public void completed(ProgressEvent progressEvent)
        {
            System.out.println(browser.evaluate("var ua = navigator.userAgent, tem, M = ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i) || []; if (/trident/i.test(M[1])) { tem = /\\brv[ :]+(\\d+)/g.exec(ua) || []; return 'IE ' + (tem[1] || ''); } if (M[1] === 'Chrome') { tem = ua.match(/\\b(OPR|Edge)\\/(\\d+)/); if (tem != null) return tem.slice(1).join(' ').replace('OPR', 'Opera'); } M = M[2] ? [M[1], M[2]] : [navigator.appName, navigator.appVersion, '-?']; if ((tem = ua.match(/version\\/(\\d+)/i)) != null) M.splice(1, 1, tem[1]); return M.join(' ');"));
        }
    });
    browser.setUrl("https://www.google.co.uk");

    shell.pack();
    shell.open();

    while (!shell.isDisposed())
    {
        if (!display.readAndDispatch())
            display.sleep();
    }
    display.dispose();
}

在我的例子中,它输出 IE 11

关于java - 查找 SWT 浏览器的浏览器类型/版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38841400/

相关文章:

java - Netbeans 中 JFilechooser 的问题

java - 为什么 Ubuntu 环境中的 Mule-ESB 不使用默认的 Java keystore ?

javascript - 防止退格按钮在 Sharepoint 2010 和 IE 中向后导航

.net - 以编程方式将受信任的站点添加到 Internet Explorer

html - 如何从链接在特定浏览器中打开特定 URL?

java - 如何从 int 中获取 float

java - 如何调试这个?

javascript - IE8/9 AJAX/CORS (XDomainRequest) 发送referer头

javascript - 重定向页面并阻止加载页面的其余部分和执行脚本

javascript - 可以使用 JavaScript 检测浏览器突出显示的拼写错误建议吗?