---
title: "javascript för att öppna länk i nytt fönster"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/181304-javascript-för-att-öppna-länk-i-nytt-fönster"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "jasifil"
published: "2009-11-19T08:20:29.000Z"
updated: "2009-11-20T14:40:24.000Z"
replies: 3
views: 1053
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/181304-javascript-för-att-öppna-länk-i-nytt-fönster"
---

# javascript för att öppna länk i nytt fönster

## #1 — jasifil, 2009-11-19T08:20Z

Jag hittade ett javascript på nätet som jag använder på vissa av länkarna på min hemsida. Eftersom jag kodat sidan enligt xhtml-strict så är attributet "target" inte längre gångbart. Istället använder jag "rel". Se exempel.

```
<a href="document.html" rel="external">external link</a>
```

Själva scriptet ser ut så här:

```
function externalLinks() {   
 if (!document.getElementsByTagName) return;   
 var anchors = document.getElementsByTagName("a");   
 for (var i=0; i<anchors.length; i++) {   
   var anchor = anchors[i];   
   if (anchor.getAttribute("href") &&   
       anchor.getAttribute("rel") == "external")   
     anchor.target = "_blank";   
 }   
}   
window.onload = externalLinks;
```

Scriptet har jag sparat under filnamnet external.js.

Min fråga är om jag i detta script kan lägga till så att länken öppnas i ett separat fönster med en specifik placering, t.ex. om det är möjligt att även baka in följande i filen external.js?

```
<script language="JavaScript">

   function openPage(imagePath, width, height) {
      var settingsString = 'toolbar=no,resizable=no,scrollbars=no,width=' + width + ',height=' + height;
      window.open(imagePath, 'Sida', settingsString);
   }

</script>
```

Hoppas ni förstår hur jag menar.

Tack på förhand!
/Janne

Permalänk: https://www.webforum.nu/p/181304

## #2 — MickeA.com, 2009-11-19T11:26Z

Varför ska du göra det? Ditt "extra script" ovan öppnar ju redan ett nytt fönster. På dom ställen du ska använda det, så skippar du *rel="external"* och istället kör du:

```
<a href="#" onclick="openPage('image.jpg', 400, 400); return false;">LÄNK</a>
```

/r

Jaha, du vill endast ha in raden *settingsString*?
Blir nog svårt, jag tror att window.open() skiljer sig från hur en vanlig länk triggas.

Det du kan göra är att använda funktionen window.open() på alla länkar isf. för rel attributet.

Permalänk: https://www.webforum.nu/p/2214845

## #3 — voigtann1, 2009-11-19T11:52Z

Eller efter if frågan

```
 if (anchor.getAttribute("href") &&   
       anchor.getAttribute("rel") == "external")
```

så gör du att den kör funktionen openPage, men jag vet inte riktigt vilka standard mått du är ute efter på höjd och bredd så det är lite svårt att veta hur du hade tänkt att lösa det, statiskt eller dynamiskt? 
ananrs om det är 400x400:

```
function externalLinks() {   
	if (!document.getElementsByTagName) {
		return;
	}
	var anchors = document.getElementsByTagName("a");   
	for (var i=0; i<anchors.length; i++) {   
		var anchor = anchors[i];   
		if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") {
			openPage(anchor.getAttribute("href"), 400, 400);
		}
	}   
}   
window.onload = externalLinks;
```

Permalänk: https://www.webforum.nu/p/2214849

## #4 — jasifil, 2009-11-20T14:40Z

Hej!
Tack för era svar. Får det inte att funka dock. Man får väl vara nöjd som det är men min tanke var att om fönstret öppnas utanför själva webbläsaren och dessutom placeras lite förskjutet så märker man ju mycket tydligare att länken öppnats i nytt fönster. Som det är med mitt rel-attribut så öppnas ju bara en ny flik vilket man knappt märker. Åtminstone inte innan man ska backa tillbaka vilket inte går. Lätt att bli irriterad.

Permalänk: https://www.webforum.nu/p/2215000

---

Tråden på webben: https://www.webforum.nu/amne/javascript/181304-javascript-för-att-öppna-länk-i-nytt-fönster
