Avatar billede tahoo Nybegynder
08. juni 2005 - 11:31 Der er 11 kommentarer

history.back + refresh

Hej Eksperten

Jeg vil gerne lave en knap, som går en side tilbage når den så er gået tilbage skal den refresh den siden..

noget med  : <a href="java script:history.back(-1) + refresh når den er gået tilbage>

Håber nogle kan hjælpe..
Avatar billede roenving Novice
08. juni 2005 - 14:47 #1
Det kan man ikke ...

-- men f.eks. gøre det, som man gør her på sitet, dirigerer trafik, som ikke må kunne køres baglæns igennem f.eks. en respons.php, som så replacer location, når svaret er behandlet !-)
Avatar billede thesurfer Nybegynder
09. juni 2005 - 19:36 #2
hmm.. kan man ikke hente værdien (urlen) af "history.back(-1)"?

Hvis man kan, kan man måske lave en onclick="window.location.href=history.back(-1) + '?reload'"

Så skal man bare undersøge, om '?reload' er en del af urlen..

/theSurfer
Avatar billede olebole Juniormester
09. juni 2005 - 21:35 #3
<ole>

Jeg tror, spørgeren ønsker, det skal ske automatisk ... og det kan man af gode grunde ikke. Går man tilbage i historien, vil tingene naturligvis være, som de var dengang ... ellers hænger tingene jo ikke sammen  :)

/mvh
</bole>
Avatar billede thesurfer Nybegynder
09. juni 2005 - 23:22 #4
Kan man hente værdien (urlen) af "history.back(-1)" ? :-)

/theSurfer
Avatar billede roenving Novice
09. juni 2005 - 23:59 #5
Nej !o]

history-objektet har kun 3 tilgængelige metoder og een tilgængelig property, hvis det skal være bare en anelse crossbrowser (i Netscape 4 og 6, vist før det blev en 'rigtig' Gecko, var der en mulighed for at finde previous, current og next med signed scripts !-)

-- ellers er mulighederne at aflæse, hvor mange objekter, der findes i history-listen, men ikke en chance for at finde ud af, hvor du står henne, endsige indholdet af disse, samt at navigere back, forward og go(+/-tal) ...
Avatar billede thesurfer Nybegynder
10. juni 2005 - 17:10 #6
Man kunne jo bruge cookies..

I bunden af alle sider, indsættes en cookie til "side=" + window.location.href (f.eks.)

så kunne man lave noget i stil med:

<html>
<head>
<script type="text/JavaScript">
side = "hent side-værdi fra cookie";
</script>
</head>
<body>

...

<a href="#" onclick="tilbage();return false;">Gå tilbage, og refresh siden</a>

...

<script type="text/JavaScript">
function tilbage()
{
window.location.href = side + "?refresh";
}

if (nuværende url indeholder "?refresh") gå til url, fra pos 0 og til pos af "?", minus 1;

// "minus 1" skal muligvis ikke med.. kan aldrig huske det.. :-)
</script>

I bunden af alle sider, har man så:

if (nuværende url indeholder "?refresh") gå til url-fra pos 0 og til pos af "?" -1;


Det var så et dovent eksempel.. :-)

/theSurfer
Avatar billede roenving Novice
11. juni 2005 - 11:01 #7
-- og man kan selvfølgelig hente document.referrer !-)
Avatar billede thesurfer Nybegynder
11. juni 2005 - 18:11 #8
huh? :-)

/theSurfer
Avatar billede roenving Novice
14. juni 2005 - 13:21 #9
<a href="#" onclick="location.href=document.referrer;return false;">Tilbage</a>
Avatar billede thesurfer Nybegynder
14. juni 2005 - 19:58 #10
Ja det har jeg kigget på.. :-)
.. men du har jo selv skrevet "http://www.eksperten.dk/spm/624347".. ? :-)

/theSurfer
Avatar billede thesurfer Nybegynder
26. juni 2005 - 16:37 #11
roenving> Glem hvad jeg skrev i 14/06-2005 19:58:14 .. :-)
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