Indlæs andet indhold på denne side:
Siden er opdateret 15. 8. 2006
Ved at give popup-vinduet et navn kan du genbruge det samme vindue til flere forskellige dokumenter. Det kan være nyttigt, hvis du f.eks. vil vise en række store billeder i vinduet:
Ovenstående links åbner en ny side i det samme nye vindue, hvis ikke din browser har en indstilling, som gennemtvinger et nyt vindue for hvert link.
Er browseren indstillet til ikke at afvikle javascript, åbnes begge links i dette vindue.
Funktionen er lavet på den måde, at der først er etableret en ekstern javacscipt-fil global.js:
var objPopupWindow = null;
function openPopup(strUrl, strWindowName, strFeatures, iWidth, iHeight)
{
if(objPopupWindow==null || objPopupWindow.closed)
{
if(strFeatures==null || strFeatures.length<1)
{
WindowObjectReference = window.open(strUrl, strWindowName);
}
else
{
WindowObjectReference = window.open(strUrl, strWindowName,
strFeatures, iWidth, iHeight);
}
}
else
{
objPopupWindow.focus();
}
}
Dernæst skal dette javascript indlæses på de sider, der skal anvende scriptet:
<script type="text/javascript" src="global.js"></script>
Så skal du bare lave de links, som brugerne skal kunne klikke på:
<ul>
<li><a href="ny-side-1.html" target="mitVindue"
onclick="openPopup(this.href, this.target, 'width=790,height=480'); return false;">Side 1</a></li>
<li><a href="ny-side-2.html" target="mitVindue"
onclick="openPopup(this.href, this.target, 'width=730,height=480'); return false;">Side 2</a></li>
</ul>
Det var så meningen, at det åbnede vindue skulle sætte størrelsen efter definitionen i linket, men pt fungerer dette kun når vinduet åbnes - ikke når en ny side indlæses i samme vindue.
Ydermere vil det åbnede popup-vindue ikke lægge sig øverst ved indlæsning af nyt indhold i samme vindue, hvis du ikke udvider <body>-tagget i de sider, der åbnes i popup'en sådan:
<body onload="window.focus();">
Endelig generes hele konceptet af, at f.eks. Firefox ofte af brugerne er indstillet til helt at blokerer for at trække popup'en frem foran, når nyt indhold er indlæst.