Schnellstart-Link in neuem Fenster öffnen

In diesem Beitrag wird gezeigt, wie man einen Link in der Schnellstartleiste so manipulieren kann, daß er sich in einem neuen Fenster (oder in einem neuen Reiter) öffnet.

Man geht dabei wie folgt vor: der gewünschte Link muß per JavaScript/ECMAScript ausfindig gemacht und dann ein Attribut target="_blank" angehängt werden. Am Einfachsten geht das, wenn man jQuery verwendet.

Man braucht dazu die jQuery-Library, die hier heruntergeladen werden kann. Die Datei kann irgendwo in der Website, z.B. in der immer vorhandenen Formatbibliothek, abgelegt werden. Besser ist es aber sie direkt in einen passenden Ordner im Dateisystem der Webfrontendserver zu legen, weil man sie von dort in jeder beliebigen Website einbinden kann. Ich verwende dazu normalerweise einen eigenen Unterordner von 14\LAYOUTS.

Das Script muß in die Gestaltungsvorlage (Masterpage) eingebaut werden. Dazu öffnet man die Website in SharePoint Designer. Die Gestaltungsvorlage findet man (wer hätte es gedacht), wenn man links auf "Gestaltungsvorlagen" klickt. Die Standard-Masterpage heißt V4.master. Die Seite öffnet man in der Codeansicht und sucht das Ende des <head>-Abschnitts, d.h. man macht die Ergänzungen vor der schließenden Zeile </head>.

Zunächst wird die jQuery-Library referenziert:

/_layouts/Demo/jquery-1.6.1.min.js

jQuery macht es sehr einfach bestimmte Elemente anzusprechen. In diesem Fall suchen wir einen Link, also ein <a>-Element, der auf eine bestimmte URL verweist:

$("a[href=’/subsite/‘]")

Bei dieser Methode muß immer der gesamte Link angegeben werden (man beachte, daß Links in der Schnellstartleiste meist Server-relativ sind). Es gibt aber noch andere Möglichkeiten, als den direkten "ist gleich"-Vergleich:

= bedeutet "exakt gleich"
!= bedeutet "ungleich"
^= bedeutet "beginnt mit"
$= bedeutet "endet mit"
*= bedeutet "enthält"

Dem Link wird jetzt das Attribut target="_blank" angehängt:

.attr("target", "_blank")

Das gesamte Script sieht dann so aus:

/_layouts/Demo/jquery-1.6.1.min.js

  $(document).ready(function() {
    $(„a[href=’/subsite/‘]“).attr(„target“, „_blank“);
  });

5 Gedanken zu “Schnellstart-Link in neuem Fenster öffnen

  1. Vielleicht eine doofe Frage, aber man kann doch unter dem Navigationspunkt in den Site Settings einstellen ob der Link in einem neuen Fenster geöffnet werden soll oder nicht – oder verwechsel ich jetzt die Schnellstartleite mit was anderem?

    Davon abgesehen könnte man das Laden des Javascripts in ein UserControl auslagern und dieses über ein Feature in den PageHeader setzen. Mit einer Konfigurationsmaske könnte man daraus auch eine Lösung erstellen, ohne die Masterpage anfassen zu müssen (schon getestet). Klingt nach einem neuen spannenden Feature 🙂

    Und schlussendlich vielen Dank für den detailierten Artikel!

  2. Hallo Stefan,

    der Beitrag ist durch einige Nachfragen in der SharePointCommunity entstanden. Die Option in den Navigationseinstellungen gibt es nur beim SharePoint Server mit aktiviertem Publishing-Feature.

    Und Du hast Recht: natürlich könnte man das in eine saubere Lösung mit Feature kapseln. Ich wollte hier nur das grundsätzliche Vorgehen zeigen…

    Viele Grüße
    Andi

Hinterlasse einen Kommentar