---
title: "Kan man verifiera att popupfönster har öppnats."
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/164403-kan-man-verifiera-att-popupfönster-har-öppnats"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Mattias Nordin"
published: "2007-09-11T10:08:45.000Z"
updated: "2007-09-20T21:19:45.000Z"
replies: 10
views: 606
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/164403-kan-man-verifiera-att-popupfönster-har-öppnats"
---

# Kan man verifiera att popupfönster har öppnats.

## #1 — Mattias Nordin, 2007-09-11T10:08Z

Hej, jag har sökt lite efter ett javascript som verifierar att ett popupfönster faktiskt har öppnats. För det första, går det att genomföra? Jag får det inte att fungera på något sätt... vilket säger mer om mina kunskaper med javascript men ändå   :l 

Så här ser min testsida ut. Samtliga funktioner returnerar "Closed" oavsätt om popupfönstret är öppet eller ej. Vad gör jag för fel?

```
<SCRIPT LANGUAGE="JavaScript">
funOppnaSidaNyttFonster("x","test2.asp")

function funOppnaSidaNyttFonster(openInThisWindow,openThisIncommingUrl){
	objPopupWindow = window.open(openThisIncommingUrl,openInThisWindow,"toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=800,height=800"); 
	//objPopupWindow.focus();

	testParent1();	
}

function testParent1() {
if (window.opener != null && !window.opener.closed)
alert("OPEN");
else 
alert("CLOSED");
}	
	
function testParent2() {
if (typeof opener != 'undefined')
alert("OPEN");
else 
alert("CLOSED");
}
	
function testParent3() {
if (!opener)
alert("CLOSED");
else 
alert("OPEN");
}

</script>

OPEN POUPUP WINDOW 2

<a href="Javascript:testParent1();">test</a>
```

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

## #2 — Danne V, 2007-09-11T10:15Z

Varför vill du att den ska verifieras? Är det för att du vill se om folk har titta på den i din statistik sedan, eller vad?

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

## #3 — Mattias Nordin, 2007-09-11T10:23Z

Just nu labbar jag mest. Men en tanke är att visa information om att popupblockern måste fixas. Denna text behöver bara visas om popupfönstret inte har öppnats.

Sedan retar jag mig på att jag gör något fel. Andra verkar få funktionerna ovan att fungera men inte jag.

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

## #4 — Peter S, 2007-09-11T10:38Z

Window.opener använder du inte på samma sida som du öppnar fönstret. I stället använder du det i popupsidan.

Titta på objektet objPopupWindow och dess egenskaper, t.ex. closed.

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

## #5 — spango, 2007-09-11T10:39Z

Vi har pratat lite om det i den här tråden: <http://www.webforum.nu/showthread.php?p=1347298>

Men det är inte speciellt konstigt att den alltid säger "closed", du kollar window.opener vilket är en egenskap i det fönstret som öppnats, och koden körs ju i fönstret som öppnar. Det du egentligen vill göra är att kolla returvärdet från window.open, den returnerar null om inte ett nytt fönster öppnats:

```
var newWindow = window.open([I]parametrar[/I]);
if (newWindow) {
  alert("Fönstret öppnades");
} else {
  alert("Popup-blocker igång");
}
```

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

## #6 — Mattias Nordin, 2007-09-11T11:52Z

Tackar för hjälpen. Spangos exempel fungerar bra. Jag blandar ihop saker och kan inte grunderna här.

Lite grundläggande, vad är det för skillnad på: 

if (newWindow){...

och 

if (newWindow == true){...

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

## #7 — Troxy, 2007-09-11T11:57Z

Det är ingen skillnad. Om *(newWindows == true)* gäller så är *newWindow* i sig är ett booleanskt värde, vilket gör att det kan användas direkt i en if-sats, jämförelsen är onödig.

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

## #8 — Mattias Nordin, 2007-09-11T13:16Z

Det jag blev förvånad över var att varianten (newWindows) ovan fungerar medans (newWindows == true) inte gjorde det. Den sista varianten gav samma resultat oavsätt om fönstret öppnades eller ej. ?

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

## #9 — jawbreaker, 2007-09-11T13:50Z

window.open() returnerar inte true eller false, den returnerar istället en referens till det nya fönstret som öppnas (om det går bra), eller null (om det går dåligt).

Så om man nu nödvändigtvis vill ha med något villkor att jämföra mot i if-satsen borde det bli:

```
if (newWindow != null)
	alert("Fönstret öppnades");
```

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

## #10 — Mattias Nordin, 2007-09-20T14:39Z

OK. Tackar.

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

## #11 — colione, 2007-09-20T21:19Z

> **jawbreaker skrev:**
>
> window.open() returnerar inte true eller false, den returnerar istället en referens till det nya fönstret som öppnas (om det går bra), eller null (om det går dåligt).
> 
> Så om man nu nödvändigtvis vill ha med något villkor att jämföra mot i if-satsen borde det bli:
>
>
> ```
> if (newWindow != null)
> 	alert("Fönstret öppnades");
> ```

Fast om man nu nödvändigtvis ska ha något vilkor att jämföra mot i if-satsen borde det bli:

```
if (newWindow !=[red]=[/red] null)
	alert("Fönstret öppnades");
```

Då sker ingen typkonvertering så det blir både snabbare och säkrare.

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/164403-kan-man-verifiera-att-popupfönster-har-öppnats
