popup automatisch sluiten (script op een andere manier )

Status
Niet open voor verdere reacties.

lap666

Gebruiker
Lid geworden
30 okt 2007
Berichten
11
Hey,

Ik ben reeds een tijdje aan het zoeken naar mijn probleem.
Ik heb een script gevonden dat een popup opend en als je gelijk waar op het scherm klikt verdwijnt die weer.

Ik gebruik dit wel in flash die via XML een popup opend.
Dit staat in men XML
HTML:
<party>
<update date="31-10-2007" link="javascript:pu('31-11-07a.jpg','650','450')">Halloween At Kabarka</update></party>

Deze code staat in men HTML
HTML:
function pu(pic, breedte, hoogte){
var top =(screen.height- hoogte) / 2;
var left = (screen.width - breedte) / 2;
//var properties = 'height=' + hoogte + ',width=' + breedte + ',top=' + top + ',left=' + left;
imgWin=window.open('about:blank','','height=' + hoogte + ',width=' + breedte + ',top=' + top + ',left=' + left +', scrollbars=0');
with (imgWin.document){
writeln('<html><head><title>Kabarka Party Flyer</title><style>body{margin:0px;}</style>');
writeln('</head><body bgcolor=000000 scroll="no" onload="self.focus()" onblur="self.close()">');
writeln('<img name="Kabarka Party Flyer" src="Partyupdate/'+pic+'" style="display:block"></body></html>');
close();		
}}

Deze code werkt perfect.

Dit script hieronder heb ik gevonden om een html in een popup te krijgen.

Dit staat in men XML
HTML:
<party>
<update date="31-12-2006" link="javascript:openNewWindow('http://www.kabarka.be/popup/fotoalbum/New Years 
eve 2006/index.html','thewin','height=1,width=1,toolbar=no,scrollbars=yes')">New Years
Eve 2006</update>
</party>

Dit staat in men HTML
HTML:
function openNewWindow(URLtoOpen, windowName, windowFeatures) { 		
newWindow=window.open(URLtoOpen, windowName, windowFeatures);
}

Dit werkt wel maar de popup verdwijnt niet automatisch als je ergens in het scherm klikt en het zou makelijker zijn
als ik enkel de naam van de map in mijn XML invul zoals in het eerste voorbeeld enkel de naam van de pic. ingevuld wordt.
Alleen moet die dan wel de index.html nog vinden die in de opgegeven map staat.

Voor alle duidelijkheid die index.html in de popup staat lokaal op de server.

Ik ben niet sterk in javascript maar hoop hier wel iets te weten te komen.
Groeten.
 
IN je eerste voorbeeld is de volgende code verantwoordelijk voor het sluiten van de popup:

Code:
<body bgcolor=000000 scroll="no"[B] onload="self.focus()" onblur="self.close()"[/B]>

In je tweede voorbeeld maak je de html voor de popup niet via javascript maar wordt deze geladen uit de index.html. Om daar hetzelfde effect te hebben moet je waarschijnlijk de <body> in dat bestand aanpassen zoals hierbopven met de onload en onblur.
 
hey,

Ik heb dit gedaan, uw voorbeeld is in de html van de index.html gezet.

Alleen een klein probleem en dat heb ik nog niet duidelijk gemaakt.
Als ik een popup heb van het eerste voorbeeld dan mag ik op de popup klikken en blijft die staan, klik ik erbuiten dan sluit die.

Doe ik uw tip in het tweede voorbeeld dan verdwijnd die maar ik ben vergeten erbij te vertellen dat daar een fotoalbum inkomt, die men kan aanklikken alleen nu gaat het dus niet.

Ik wil graag dat als men buiten die popup klik deze sluit.
Ik heb al geprobeerd om het tweede voorbeeld om te bouwen naar het eerste maar niks lukt me.:confused:
 
Laatst bewerkt:
Ik snap het verschil geloof ik niet helemaal. Als het goed is dan zijn voorbeeld 1 en 2na aanpassing identiek. Zodra je dus binnen voorbeeld 2 binnen de popup klikt kan dat, klik je erbuiten dan sluit de popup (onblur functie).

In feite zijn voorbeeld 1 en 2 niet erg verschillend. Het enige is dat in voorbeeld 1 de html voor in de popup dynamisch wordt opgebouwd, waaar bij 2 wordt verwezen naar een externe html. De methode van openen van de popup blijft voor beide hetzelfde, en ook de inhoud van de popups (als je dat zou willen).

Ik bergijp dus niet helemaal waar je vastloopt.
 
Hey,

Ik heb eens een voorbeeld in elkaar gestoken dan kun je het verschil zien.

Bij upcoming party's datum 20-10-2007 zie je een popup van het voorbeeld 1.
Klik je in de popup dan blijft die staan. Klik je ernaast dan sluit die automatisch.

Bij party update datum 31-12-2006 zie je een popup van het voorbeeld 2.
klik je in de popup op een thumbs of link dan sluit die . klik je eruit dan sluit die ook ?
Het is wel zo dat in deze popup naar een andere html page wordt verwezen als je op een thumb klikt zo ook bij een link.

alles is te zien op http://lap666.deneub.net/test1122/start.html

En nu het leukste van de zaak
Uw oplossing werkt perfect in firefox heb ik net gezien.
uw voorbeeld werkt niet in explorer
 
Probeer eens dit: in deze zinnen
HTML:
imgWin=window.open('about:blank','','height=' + hoogte + ',width=' + breedte + ',top=' + top + ',left=' + left +', scrollbars=0');
with (imgWin.document){
HTML:
newWindow=window.open(URLtoOpen, windowName, windowFeatures);
vervang je imgWin en newWindow door console

Bij beide zet je er deze twee regels voor
PHP:
  if (!console.closed) console.close();
  first = true;
met nog dit extra script:
PHP:
 var console = {closed: true}, first = true;

 function closeWindow() {
  if (!console.closed && !first) console.close();
  first = false;
  };

 document.onclick = closeWindow;
Dan wordt een popup gesloten als je voor de tweede keer in de pagina klikt, de eerste niet omdat de popup anders meteen weer zou sluiten. :) (Een nieuw venster sluit wel een oud venster.)


Vr.Gr. Egel.
 
Hey,

Ik heb je voorbeeld even uitgeprobeerd maar dit werkt helaas niet.
Zowel in explorer en firefox wordt met je voorbeeld de popup gesloten als je in de popup klikt.

Ik heb zo eens zitten denken om het volgende te doen.

HTML:
function pu(MAPNAAN, breedte, hoogte){
var top =(screen.height- hoogte) / 2;
var left = (screen.width - breedte) / 2;
//var properties = 'height=' + hoogte + ',width=' + breedte + ',top=' + top + ',left=' + left;
imgWin=window.open('about:blank','','height=' + hoogte + ',width=' + breedte + ',top=' + top + ',left=' + left +', scrollbars=0');
with (imgWin.document){
writeln('<html><head><title>Kabarka fotoalbum</title><style>body{margin:0px;}</style>');
writeln('</head><body bgcolor=000000 scroll="no" onload="self.focus()" onblur="self.close()">');
writeln('<img name="Kabarka fotoalbum" src="Fotoalbum/'+MAPNAAM+'/index.html" style="display:block"></body></html>');
close();		
}}

Ik neem dus het eerste voorbeeld en in plaats van de naam van de pic. in te vullen vul ik hier de naam van de map in waar het fotoalbum staat.
In deze map staat een index.html die hij moet weergeven in de popup.

Alleen krijg ik een foutmelding
Regel:3
Teken:1
Fout:'Left' is niet gedefineerd
Code:0
URL: lap666.deneub.net/test1122/start.html

Groeten
 
Hey,

Dat heb ik wel gedaan maar werken deed het spijtig niet.
Ik ben zelf een beetje gaan knutselen.

Dit staat in men XML nu
Code:
<party>
<update date="31-12-2006" link="javascript:pp('6 years kabarka','650','450')">New Years Eve 2006</update>
</party>

Dit staat in de HTML van men index
HTML:
function pp(mapnaam, breedte, hoogte) { 		
newWindow=window.open(mapnaam, breedte, hoogte);
var tmp = newWindow.document;
	tmp.write('<html><head><title>popup zoals ik ze graag wil hebben</title>');
	tmp.write('</head><body bgcolor=ffffff scroll="no" onload="self.focus()"onblur="self.close()">');
	tmp.write('src="http://www.kabarka.be/test/popup/fotoalbum/2007/'+mapnaam+'/index.html" style="display:block"></body></html>');
	tmp.close();
}

een voorbeeld heb ik op http://www.kabarka.be/test/start.html
ga naar party pictures en datum van 31/12/2006 (das de enige die zo werkt)

Het probleem dat de popup moet sluiten als je er buiten klikt is nu opgelost.
Alleen staat er geen fotoalbum in de popup :)
Dus daar heb ik nog een beetje hulp nodig om het op te lossen.
Daar kom ik niet uit. Hulp is hier zeker welkom.

Het fotoalbum staat op http://www.kabarka.be/test/popup/fotoalbum/2007/6yearskabarka/index.html

Groeten,
Michel
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan