Desktop.browse() - unterschiedliches Verhalten unterschiedlicher Browser

Ganon

Grünschnabel
Hallo zusammen,

ich habe ein Java-Programm (1.6), das in einer for-Schleife mehrere Browser-Fenster öffnet. Allerdings klappt das unter bestimmen Umständen nicht, dann öffnet sich nur ein Fenster. Allerdings gilt das nur dann, wenn der Browser vorher geschlossen war. War schon mindestens ein Fenster/Tab offen, öffnen sich alle, wie sie wollen.

Die entsprechende Codezeile lautete ursprünglich:

Code:
Desktop.getDesktop().browse( new URI( lcSB.toString() ) );
Wobei lcSB ein StringBuilder mit der URL ist. Getestet wurde mit IE10 & 7 sowie Firefox. In dieser Version schaffte nur der IE10 das gewünschte Verhalten. Habe es dann geändert in:
Code:
Desktop desktop = Desktop.getDesktop();
desktop.browse( new URI( lcSB.toString() ) );
Damit klappte es auch im Firefox. Im ollen IE7 leider immer noch nicht, es ist aber gewünscht, dass es auch unter WinXP mit dessen IE-Versionen läuft. Die geöffnete URL ist übrigens die letzte in der Schleife. Kann sich das jemand erklären bzw. mir eine Lösung nennen? Ich kenn mich mit der Desktop-Klasse nicht aus, die obige Änderung war auch schon ein Tipp von jemand anderem. :(
 
Moin,

ich weiß jetzt nicht genau, ob es Dein Problem wirklich löst, aber Du könntest mal Folgendes versuchen:
Java:
java.awt.Desktop desktop = null;
 // .....

if( java.awt.Desktop.isDesktopSupported() )  // !!
{
    desktop = java.awt.Desktop.getDesktop();
}

// .....

if( desktop.isSupported(java.awt.Desktop.Action.BROWSE) ) 
{
     try
    {
	  java.net.URI uri = new java.net.URI( myURL );
	  desktop.browse( uri );
    }
    catch( Exception e1 )
    {
         e1.printStackTrace();
    }
}

Gruß
Klaus
 
Hi vfl_freak,
erst mal danke für deine Antwort. Leier kam ich erst jetzt dazu, dass weiter zu testen. Ich habe die Abfragen mal eingebaut zusammen mit einer Log-Ausgabe, falls sie fehlschlagen. Die wird aber nicht angezeigt, da kommt er also fehlerlos durch. Dennoch bleibt das Problem bestehen. Wie mir ein anderer Tester sagte, tritt es auch mit dem IE9 auf, bei Chrome ist aber alles in Ordnung.
Puh, muss ich mich jetzt in die Unterschiede zwischen den Browsern einarbeiten? Das ist ein echt ätzendes Thema... :(

Nachtrag: ich kam auf die Idee, dass es vielleicht daran liegen könnte, dass es sich um eine HTTPS-Seite handelt, aber ist wohl nicht so. Habe mal einen Test mit verschiedenen Seiten gebastelt (HTTP und HTTPS), das macht keinen Unterschied.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück