hagen
I'm new here

Vorschau einer Seite über Beanshell-Skript aufrufen

Jump to solution

Hallo,

ich möchte über ein Beanshell-Skript die Vorschau einer Seite anzeigen.

Bisher wurde es so gelöst:

String program = "\"C:/Programme/Internet Explorer/iexplore.exe\"";

String previewUrl = site.getPreviewUrl(context.getProject().getLanguage("DE"), context.getProject().getTemplateSets().get(0), false, 5, new HashMap());

String previewUrl = previewUrl + "/login.ticket=" + context.getConnection().createTicket();

Runtime.getRuntime().exec(program + " " + previewUrl);

Da der Programmpfad aber nicht bei jedem so stimmt, ist die Lösung nicht anwendbar!

Wie kann ich die Vorschau der Seite über ein Beanshell-Skript realisieren (also genauso wie beim Klick auf den Vorschau-Button)?

Viele Grüße

Manuel Grund

0 Kudos
1 Solution

Accepted Solutions
thmarx
I'm new here

Hallo hagen,

ab Java 1.6 kannst du diesen Code verwenden um eine Url mit dem Standardbrowser zu öffnen:

public void openUrl(final String url) throws IOException, URISyntaxException {

     if(java.awt.Desktop.isDesktopSupported() ) {

          java.awt.Desktop desktop = java.awt.Desktop.getDesktop(); 

          if(desktop.isSupported(java.awt.Desktop.Action.BROWSE) ) {

               java.net.URI uri = new java.net.URI(url);

               desktop.browse(uri);

          }

     }

}

Viele Grüße

Thorsten

View solution in original post

0 Kudos
3 Replies
thmarx
I'm new here

Hallo hagen,

ab Java 1.6 kannst du diesen Code verwenden um eine Url mit dem Standardbrowser zu öffnen:

public void openUrl(final String url) throws IOException, URISyntaxException {

     if(java.awt.Desktop.isDesktopSupported() ) {

          java.awt.Desktop desktop = java.awt.Desktop.getDesktop(); 

          if(desktop.isSupported(java.awt.Desktop.Action.BROWSE) ) {

               java.net.URI uri = new java.net.URI(url);

               desktop.browse(uri);

          }

     }

}

Viele Grüße

Thorsten

0 Kudos

Vielen Dank, das hat funktioniert!

Kann ich alternativ irgendwie den Browser unter den "Globalen Einstellungen" > "Benutzereinstellungen" auslesen?

0 Kudos

Hallo Manuel,

für deine Anforderung gibt es aktuell keine freigegebene API. Du kannst aber gerne einen Feature-Request dafür einstellen.

Peter
0 Kudos