2016-08-09 113 views
1

Ich habe Probleme mit einem Eclipse SWT-Browser, der bestimmte Stile nicht auf einem Computer lädt. Ich erwarte, dass die Maschine IE 10 als nativen Browser verwendet, aber ich bin nicht sicher, wie ich das bestätigen kann. Gibt es eine Möglichkeit, den Typ/die Version des Browsers zu bestimmen, mit dem SWT die Seite lädt?Browsertyp/-version von SWT-Browser finden

Antwort

0

Basierend auf der akzeptierte Antwort auf diese Frage:

How can you detect the version of a browser?

Sie können etwas tun:

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(); 
} 

Es gibt IE 11 in meinem Fall.

+0

Danke! Genau das habe ich gesucht. Jetzt habe ich herausgefunden, dass die Maschinen alle die selbe Browser-Version über SWT, IE 7 laden. Jetzt bin ich verwirrt, warum die SWT, die denselben Browser auf einer Maschine laufen, bestimmte Stile falsch anzeigt, aber alles auf der anderen Maschine gut aussieht . Seltsam. Ich habe auch versucht, die Internet Explorer-Einstellungen für diese Maschine zurückzusetzen, aber nichts hat sich geändert. –