Hur ser jag till att träffar öppnas i ett nytt fönster?

2012-05-04

Kunskapsdatabasen, Söksidan

Länkar som med automatik öppnas i ett nytt fönster brukar inte rekommenderas, såvida det inte rör sig om dokument såsom PDF eller Word-dokument.

Vanliga invändningar som kan anföras är:

  • funktionen "öppna i nytt fönster" finns redan i webbläsarna,
  • länkar som öppnas i nytt fönster med automatik kan inte öppnas i samma fönster, även om användaren vill det,
  • om man surfar med en mobil eller handdator kanske det inte går att hantera flera fönster på ett bra sätt,
  • bakåt-knappen i webbläsaren fungerar inte när ett nytt fönster öppnas, och
  • flikar eller tabbar används numer i webbläsarna ofta istället för olika fönster.

Verva, Verket för förvaltningsutveckling, angav i sina riktlinjer för 24-timmarswebben följande: Oavsett om länkar leder till sidor inom samma webbplats eller till en annan webbplats ska de öppnas i samma fönster.

Det finns trots ovanstående givetvis möjlighet att se till att länkar i träfflistan öppnas i nya fönster:

Mallgränssnitt

Om du använder mallgränssnittet och vill att träfflänkarna ska öppnas i nytt fönster finns en inställning för det under Gränssnitt » Inställningar och "Mål för länkar i träfflistan". Det går att se till att alla länkar öppnas i nytt fönster, eller bara de länkar som går till en annan webbplats ("serverberoende nya fönster") eller bara länkar till icke-HTML-sidor, t.ex. PDF:er. Motsvarande inställning för länkar i utvalda träffar finns på samma flik.

Webbtjänstgränssnitt

För webbtjänstgränssnittet kan den som utformar gränssnittet se till att vanliga träfflänkar och länkar till utvalda träffar öppnas i nytt fönster på motsvarande sätt som i mallgränssnittet.

SiteSeeker-modulen för EPiServer

För att visa träffar i nya fönster, baserat på om de är av en viss filtyp eller om de ligger på en viss server, finns två tillvägagångssätt. Det ena är att använda sig av JavaScript och det andra är att redigera ASP.NET-koden för söksidan/resultatkomponenten. I korthet kan följande sägas om de två olika metoderna:

  • JavaScript: Genom att skapa en funktion som går igenom alla träfflänkar och för varje länk kontrollerar om den ska öppnas i nytt fönster, kan man då sidan laddas lägga till erforderliga onclick-attribut. (Target-attribut är inte tillåtna enligt strict-standarden.)
  • Ändra ASP.NET-koden: Beroende på vilken version av modulen och .NET du har, kan du behöva ändra på olika ställen. För modulen version 1 eller 2 ändrar du i Search.aspx (.Net 1.0) eller Find.aspx (.Net 2.0), för modulen version 3 ändrar du i Result.ascx och möjligen även i HitDTO.cs/BetDTO.cs, och för modulen version 4 överlagrar du metoden ResultHitTitleAndSnippet i XHtmlHelpers eller Html5Helpers.