Avatar billede martinsp Nybegynder
28. marts 2008 - 20:23 Der er 12 kommentarer og
1 løsning

Opdater frameset én gang

X Hej

Jeg har et lille problem, med at "reloade" hele mit frameset.
Jeg vil gerne have, at når man logger ind i frame Left, opdaterer den frameset(Right og Top). Jeg kan godt få den til at opdatere/reloade det, problemet er bare, at den bliver ved med det. Kan man på en eller anden måde, gøre så den kun reloader det én gang`?

- Det skal virke i Internet Explorer og Mozilla Firefox (Der er vidst lidt forskel på koden, hvert fald på den jeg brugte) (:

Martin
Avatar billede olebole Juniormester
28. marts 2008 - 20:53 #1
<ole>

http://www.eksperten.dk/spm/825614 - men som jeg skrev i den anden tråd, skal du omdøbe din frame med navnet 'Top'  ;o)

/mvh
</bole>
Avatar billede olebole Juniormester
28. marts 2008 - 20:54 #2
Hvis du blot skal reloade, kan du også bruge:
    top.location.reload(true);
Avatar billede martinsp Nybegynder
29. marts 2008 - 10:13 #3
Det var også den kode jeg brugte før. Den virker perfekt i Internet Explorer, men i Mozilla Firefox bliver den ved med at reloade.

- Har du en idé til, hvad jeg kan gøre`? (:
Avatar billede w13 Novice
29. marts 2008 - 10:26 #4
Hvis du bare har indsat Oleboles kode: top.location.reload(true)
vil det blive kørt hver gang siden er loadet og derved reloade hele tiden, ligesom Mozilla gør.

Du kan evt. sætte javascript-koden ind med PHP, når man lige er logget ind.
På den måde vil den kun opdatere der og ikke senere.
Avatar billede martinsp Nybegynder
29. marts 2008 - 10:45 #5
Det vil jeg ogs' mene jeg har gjort...

print "<script type='text/JavaScript'> top.location.reload(true); </script>";
- men af en eller anden grund, bliver den ved med at reloade`?
Avatar billede w13 Novice
29. marts 2008 - 11:07 #6
Hmmm, det må vel være, fordi den i FF bliver ved med at logge ind, når den reloader. Hvad hvis du sætter .reload(true) til .reload(false)
Avatar billede martinsp Nybegynder
29. marts 2008 - 11:20 #7
Nu ser det faktisk ud til at virke, men hensyn til at reloade én gang, men nu er der et andet problem i FF..

Den kommer frem med denne besked: Siden du forsøger at få fremvist indeholder POSTDATA...

- hvordan undgår jeg denne besked`?
Avatar billede w13 Novice
29. marts 2008 - 11:26 #8
Det gør du ikke.
Det var dét, der var problemet i FF. Når du reloadede siden med "true", genindlæste den loginformens "postdata" - dvs. at den submittede loginformen igen og derved loggede ind igen. Derfor skrev den også reload-koden igen.

Men når du sætter den til "false", får du valget, om du vil genbruge login'ens "postdata".

Måske skal du i stedet:
a) Gå tilbage til "true" og gemme i en Session, om der allerede er reloadet. (Det bliver selvfølgelig bøvlet, hvis man skal logge ind igen, og Session ikke er slettet.)
b) Manuelt opdatere de forskellige frames, på nær loginframen, som sættes til en ny adresse.
Avatar billede martinsp Nybegynder
29. marts 2008 - 11:44 #9
Jeg fandt sgu en løsning (:

- print "<script type='text/JavaScript'> top.location.href='link-til-mit-frameset'; </script>";

men jeg havde nok ikk' fundet ud af det vidst det ikk' havde været for jer, så smid et svar, så får i jeres point (:
Avatar billede w13 Novice
29. marts 2008 - 11:53 #10
:)
Avatar billede w13 Novice
29. marts 2008 - 11:57 #11
Nu fik Olebole ingen point. Så han må lige sige til, når han bliver utilfreds. =)
Avatar billede martinsp Nybegynder
29. marts 2008 - 11:59 #12
Jeg er lidt ny her inde, så vidste slet ikk' at man kunne acceptere to?

- har næsten kun lige funet ud af hvordan man accepterer én :D
Avatar billede olebole Juniormester
29. marts 2008 - 16:09 #13
Det er helt okay ... jeg har rigelig  ;o)
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