java查找浏览器SWT浏览器的类型/版本 1 年,9 月 Questions & Answers 1263 我遇到了Eclipse SWT浏览器无法在一台机器上加载某些样式的问题。我希望这台机器使用IE 10作为本机浏览器,但我不确定如何确认这一点。有没有办法确定SWT决定使用哪个浏览器加载页面的类型/版本
# 1 楼答案 根据这个问题的公认答案: 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
# 1 楼答案
根据这个问题的公认答案:
How can you detect the version of a browser?
你可以这样做:
在我的例子中,它输出
IE 11