Avatar billede snabela Nybegynder
01. oktober 2001 - 09:56 Der er 19 kommentarer og
2 løsninger

Opdatering af frames...

Jeg har en side som er opbygget af 2 frames den ene har navnet TOP og den anden navnet BUND, Når der i framen TOP vises en bestemt side, skal den så automatisk opdatere framen BUND med en fil der hedder mail.asp men den skal kun udføre det hver gang siden kaldes, så der kan desværre ikke buges..
response.write \"<meta http-equiv=\'refresh\' content=\'1; url=mail.asp\'>\"

nogen der har et forslag?
Avatar billede snabela Nybegynder
01. oktober 2001 - 10:07 #1
UPS, den har selvfølgelig TARGET=\'BUND\' også...
Avatar billede Spotgun Seniormester
01. oktober 2001 - 10:57 #2
Jeg havde selv et lignende problem, hvor jeg efter at brugeren havde logget ind, skulle reloade en menu i en anden frame.
Jeg fik strikket følgende løsning sammen, som virker fint, og som sikkert også vil kunne bruges til din side.

I stedet for at kalde din side direkte på TOP, kalder du siden igennem en slags redirector (eksempel følger). Den sørger så for at loade de korrekte sider i dine to frames.

Redirectoren skal indeholde følgende:
---
<script LANGUAGE=\"JavaScript\">

parent.frames[\'bund\'].location.href = \'mail.asp\';
parent.frames[\'top\'].location.href = \'<%= request(\"redir\") %>\';

</script>

---
Og så kalder du redirectoren med f.eks. \"redirector.asp?redir?top_siden.asp\"

Det burde som sagt løse dit problem.

/Spotgun
Avatar billede Spotgun Seniormester
01. oktober 2001 - 10:59 #3
redirector.asp?redir=top_siden.asp  selvfølgelig... :-)
Avatar billede snabela Nybegynder
01. oktober 2001 - 11:34 #4
hvad er redirector.asp siden for en?
Avatar billede Spotgun Seniormester
01. oktober 2001 - 11:39 #5
Det er den side du skal banke sammen, med den kodestump jeg angav ovenfor.... og i stedet for at bruge f.eks. <a href=\"top_side.asp\" target=\"top\"> så bruger du <a href=\"redirector.asp?top_side.asp\"> istedet for...

Avatar billede Spotgun Seniormester
01. oktober 2001 - 11:40 #6
argh.... <a href=\"redirector.asp?redir=top_side.asp\"> i stedet for.... jeg må snart lære at kontrollere mine posts for fejl inden de blir indsendt
Avatar billede snabela Nybegynder
01. oktober 2001 - 12:04 #7
skal det så kaldes på denne måde? :

response.write \"redirector.asp?redir=kurv.asp\"
Avatar billede snabela Nybegynder
01. oktober 2001 - 12:05 #8
ups hehe 2 sek...
Avatar billede Spotgun Seniormester
01. oktober 2001 - 12:08 #9
nej du skal redirecte til siden. Enten via et normalt \"a href\"-html klik-bart link, eller via en response.redirect funktion...

og hvis du bruger \"redirector.asp?redir=kurv.asp\" vil den reloade bund med mail.asp og top med kurv.asp.
Avatar billede snabela Nybegynder
01. oktober 2001 - 12:18 #10
Nu her jeg dette :

redirector.asp :
<html>
<script LANGUAGE=\"JavaScript\">
parent.frames[\'MAIL\'].location.href = \'mail.asp?SamletPris=<%= SamletPris %>\';
parent.frames[\'HOVED\'].location.href = \'<%= request(\"redir\") %>\';
</script>
</html>

og i HOVED dukumentet har jeg denne kode til at hente det med (dette står i filen kurv.asp):

response.redirect \"<a href=\'redirector.asp?redir=mail.asp?SamletPris=\" & SamletPris & \"\'>\"

det den burde gøre er jo at når filen kurv.asp køres, skal den genstarte dokumentet mail.asp i dens ramme altså i MAIL, kurv.asp skal ikke genhentes....
Avatar billede Spotgun Seniormester
01. oktober 2001 - 12:27 #11
Okay, jeg går ud fra, at du i HOVED vil loade kurv.asp, og når den bliver loadet, skal mail.asp reloades i MAIL, korrekt?

Hvis det er tilfældet, og du ønsker at gøre det via en redirect, så kunne jeg forestille mig at det ville blive noget ala det følgende, som du skal kalde et eller andet sted fra (hvor må du selv finde ud af, for du har fået mig gjort ret forvirret nu, med hvilken opbygning du vil ha\'):

response.redirect \"redirector.asp?redir=kurv.asp&SamletPris=495\"

Når den response.redirect er blevet kørt, vil HOVED framen nu indeholde kurv.asp, og MAIL ville indeholde mail.asp som er blevet opdateret med den samlede pris du sender med som parameter.

Avatar billede Spotgun Seniormester
01. oktober 2001 - 12:28 #12
Du skal selvfølgelig ikke smide den response.redirect sætning ind i kurv.asp, da hele maskineriet så vil gå i en uendelig løkke...
Avatar billede snabela Nybegynder
01. oktober 2001 - 12:35 #13
problemet er at det er kurv.asp, som skal søge for at mail.asp bliver opdateret.

kurv.asp skal ikke reloades igen, den har man selv klikket sig ind til, så den skal ikke påvirkes af hændelsen, det er KUN mail.asp som skal hentes på ny hver gang kurv.asp bliver vist i det øverste vindue...

P.S. du må undskylde forviringen med taget\"HOVED\", det var bare fordi dit script hed det, så ændrede jeg den navn hele vejen igennem til HOVED istedet for TOP
Avatar billede Spotgun Seniormester
01. oktober 2001 - 12:42 #14
Jeg citerer lige hva\' du netop har skrevet: \"...det er KUN mail.asp som skal hentes på ny hver gang kurv.asp bliver vist i det øverste vindue...\"

Hver gang kurv.asp bliver vist i det øverste vindue, så bliver den jo netop også loadet/reloadet. Måden du løser det på, er ved at droppe linien \"parent.frames[\'HOVED\'].location.href = \'<%= request(\"redir\") %>\';\" fra redirector.asp, og så includer redirector.asp i starten af kurv.asp vha. følgende html-tag (skal placeres uden for din ASP kode):
<!--#include file=\"redirector.asp?SamletPris=<%= SamletPris %>\"-->

så vil jeg tro du opnår den virkning du netop har beskrevet. Med den løsning, skulle du så kalde kurv.asp med parametret for SamletPris (kurv.asp?SamletPris=123).
Avatar billede snabela Nybegynder
01. oktober 2001 - 12:58 #15
ja, jeg tror du har forstået det rigtigt nu, men man kan bare ikke gøre dette med en include fil....
Avatar billede Spotgun Seniormester
01. oktober 2001 - 13:17 #16
Har du prøvet det med include-filen, eller gætter du bare på at det ikke virker?
Avatar billede snabela Nybegynder
01. oktober 2001 - 18:58 #17
har prøvet det, og det virker heller ikke :-(
Avatar billede Spotgun Seniormester
01. oktober 2001 - 21:43 #18
Okay, Kurv.asp, er det en side der hele tiden vises, eller er det en man klikker sig ind på? Har du et link på en helt anden side, hvor man kan klikke sig ind og se hva\' man har i kurven?

Hvis du har det, så laver du det på den måde jeg foreslog i starten, så loader den kurv.asp i toppen og mail.asp i bunden
Avatar billede snabela Nybegynder
01. oktober 2001 - 21:56 #19
ja, man klikker sig ind på kurv.asp og den laver så variablen SamletPris, og det er den den skal sende vidre til siden mail.asp og skrive i den fil i den frame, som den er i.
Avatar billede Spotgun Seniormester
01. oktober 2001 - 22:05 #20
hmmm så se om du kan skrue en javascript metode sammen, som du kalder når variablen er blevet dannet? Det burde virke, og du kan dermed også kalde den fra din kurv.asp, når det passer dig...

Jeg er for træt til at skrue et eksempel sammen selv, men det burde ikke være særligt svært
Avatar billede snabela Nybegynder
02. oktober 2001 - 00:08 #21
ok, men TAK for det hjælp du alligevel har lavet :-)

Jeg arbejder videre på det :-)
(så vi deler)
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
Kurser inden for grundlæggende programmering

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