Avatar billede lordnelson Seniormester
01. januar 2007 - 13:51 Der er 8 kommentarer og
1 løsning

reloade en side efter luk vindue

Hej
Laver noget i et vindue bla.
oprettes der en session
når jeg så lukker vundue med
et link hvori der er på onclick self.close() er der så en måde jeg kan reloade master siden på ?
dette grundet den session der bliver oprettet
eller er der nogen gode ideeer?

Hilsen
LN
Avatar billede mclemens Nybegynder
01. januar 2007 - 14:17 #1
opener.location.reload(true); ?



1.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title><meta name="robots" content="index, follow">

<script type="text/javascript">
window.onload=function(){
document.getElementById("test").firstChild.nodeValue=(new Date().getTime()+"").substr(7);
}
</script>

</head><body>
<div id="test">0</div>
<a href="2.html" target="slave">åben slave vindue</a>
</body></html>




2.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title><meta name="robots" content="index, follow">

</head><body>
<a href="#" onclick="opener.location.reload(true);self.close();">Luk slave og opdater master</a>
</body></html>
Avatar billede lordnelson Seniormester
01. januar 2007 - 14:36 #2
Hej
HAr prøvet men det kniber lidt
først jeg får en fejl på siden når jeg ligger javascriptet i toppen
script type="text/javascript">
window.onload=function(){
document.getElementById("test").firstChild.nodeValue=(new Date().getTime()+"").substr(7);
}
</script>

Hvad er "test" ?

Hilsen
LN
Avatar billede mclemens Nybegynder
01. januar 2007 - 14:51 #3
1.html og 2.html er test eksempler, d.v.s. du kan
teste funktionen ved at bruge de to eksempler.

opener.location.reload(true); burde virke
Avatar billede lordnelson Seniormester
01. januar 2007 - 14:53 #4
Ja hej igen
Test er Id på side 1.html
Hvis jeg på min side ligger
<div id="test">0</div>

Skriver den et langt tal på siden ?

Hilsen
LN
Avatar billede mclemens Nybegynder
01. januar 2007 - 15:23 #5
"Hvis jeg på min side ligger
<div id="test">0</div>

Skriver den et langt tal på siden ?"

Ja hvis du samtidig lægger
<script type="text/javascript">
window.onload=function(){
document.getElementById("test").firstChild.nodeValue=(new Date().getTime()+"").substr(7);
}
</script>

ind på samme side, så skriver den et langt tal baseret på javascripts new Date og getTime funktion ... men ønsket om at opdatere master siden burde jo være onclick="opener.location.reload(true);self.close();" og har jo ikke noget det lange tal at gøre udover at teste at det virker ?
Avatar billede lordnelson Seniormester
01. januar 2007 - 15:45 #6
Ok nu tror jeg at jeg har forstået det.

Men men
i mit vindue hvor jeg bruger:
<a href="#" onClick="location.reload(true);self.close();">
Når jeg klikker her kommer der en boks frem:

Siden kan ikke opdateres uden at sende oplysninger igen
Klik på forsøg igen for at sende oplysningerne igen
eller klik på annuler for at få vist den side du forsøgte at få vist

Uanset hvad jeg vælger kan jeg ikke komme fra vinduet igen.

Hilsen
LN
Avatar billede mclemens Nybegynder
01. januar 2007 - 16:16 #7
Jeg formoder at du åbner et vindue seperat via et link, hvor du så laver noget i - hvorefter du ønsker at lukke vinduet for at returnere til det tidligere vindue ?

- Altså "ca." ligesom mit eksempel 1.html og 2.html fungerer ?

jeg skrev onclick="opener.location.reload(true);self.close();"
du skriver onClick="location.reload(true);self.close();"
Er det - opener der skal refreshes (master?) eller selve siden ?

...

"Når jeg klikker her kommer der en boks frem:

Siden kan ikke opdateres uden at sende oplysninger igen
Klik på forsøg igen for at sende oplysningerne igen
eller klik på annuler for at få vist den side du forsøgte at få vist"

Hvis master siden er blevet vist via. resultat fra en form postning vil du få det resultat, alternativt kan du vælge at sende master siden videre til en ny side som f.eks.:

<a href="#" onclick="opener.location='http://www.eksperten.dk';self.close();">Luk slave og opdater master til en bestemt side</a>

...

"Uanset hvad jeg vælger kan jeg ikke komme fra vinduet igen."
- Den forstod jeg ikke lige, kan du ikke komme væk fra det nyåbnede vindue og tilbage til det andet vindue der er åbent eller ? self.close(); burde vel lukke for vinduet ... Læg evt. et link, der er måske nogen andre med flere ideer hvis fejlen vises / ses :)
Avatar billede lordnelson Seniormester
01. januar 2007 - 16:35 #8
Hej
Har accepteret svaret
Men virker ikke alligevel
Hvis jeg bruger
onclick="opener.location.reload(true);self.close();"
Får jeg
en udifenerbar fejl.
Virker fint med det du har lavet
bare ikke med mit, måske fordi jeg bruger et javascrip til at åbne vinduet med
finder selv ud af det tak for hjælpen
Hilsen
LN
Avatar billede mclemens Nybegynder
01. januar 2007 - 16:51 #9
Hvis du istedet for 1.html i 01/01-2007 14:17:11 bruger
denne sammen med 2.html virker det også hos mig:
(åbning af vindue med javascript istedet)


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title><meta name="robots" content="index, follow">

<script type="text/javascript">
window.onload=function(){
document.getElementById("test").firstChild.nodeValue=(new Date().getTime()+"").substr(7);
}
</script>

</head><body>
<div id="test">0</div>
<b onclick="window.open('2.html');">åben slave vindue</b>
</body></html>


...

Tak for point :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester