webForumDet fria alternativet

Har jag kommit till sidan via BACK?

8 svar · 320 visningar · startad av Webbmonstret

WebbmonstretMedlem sedan nov. 200060 inlägg
#1

Går det att kolla om man kommit till en sida via back-knappen? Typ, att kolla "history" och se om det finns något framåt?

Jag använder nämligen frames och via en sökfunktion på sidan kommer man oftast till sidorna med innehåll (!). Nu så skickar jag sidan vidare så den laddas med ramar och allt. Problemet är när man klickar på back så kommer man ju ingenstans eftersom sidan skickar en vidare hela tiden.

Jag vill alltså kolla om man kommit till sidan via back-knappen och då skicka de bakåt ytterligare en sida! (history.go(-1))

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#2

Känner inte till det fenomenet, att man kan kolla vad som finns i history!! Men eftersom history.go(-1) är föregående sida. så borde history.go(-2) bli sidan där innan. (tror jag) :OO

WebbmonstretMedlem sedan nov. 200060 inlägg
#3

Jo, det är säkert så, men jag vill se om det är något framåt! Här är ett exempel på koden:

if ( ??? )
  history.go(-1);
else
  location.href="3.html";

Jag vill i första if-satsten kolla om det finns någon sida framåt i historien, alltså om någon tryckt på back-knappen. Finns det så skickas sidan bakåt. Annars skickas den till en annan sida (3.html).

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#4

Jag förstår inte riktigt syftet med detta, förklara lite närmare så kan vi säkert hitta någon lösning! :)

WebbmonstretMedlem sedan nov. 200060 inlägg
#5

Jag har en sida som ligger i ett frameset, vi kan kalla den sida.html. Denna sida skall inte visas för sig själv, så om man kommer till sidan via en länk så skall man automatiskt skickas till sidan med framesetet, som vi kan kalla ramsida.html.

OK! Jag kommer till sida.html som automatiskt skickar mig till ramsida.html. (Bra!)

Nu tycker jag att jag vill tillbaka till sidan jag var på innan och trycker på BACK i min webbläsare.

Jag kommer till sida.html som fortfarande skickar mig till ramsida.html.

Jag vill alltså påsida.html kolla om det finns en sida framåt, för det betyder ju att besökaren tryckt på BACK. I det fallet vill jag skicka användaren bakåt istället!

Solklart???

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#6

Satt och funderade lite grann och kom fram till detta ex.

<script language="javascript" type="text/javascript">
<!-- // Start

function checkifgoback() {

// antal sidor i historien.
langd = history.length;

if(langd <= 0) {
// sida att visa om historian är tom
document.location = "http://www.mkd.nu/";

} else {
// sida att visa om historian är större än 0.
document.location = "http://www.mkd.nu/kalixjujutsu/";
}

}
// slut -->
</script>
<body onload="checkifgoback();">
</body>

Om det är så här du vill ha det är ju en annan sak, men du kan säkert bygga ut den. :e

WebbmonstretMedlem sedan nov. 200060 inlägg
#7

Tack för hjälpen. :e Skall kolla om det kan fungera! ...

WebbmonstretMedlem sedan nov. 200060 inlägg
#8

Hmm... Inte helt tillfredsställande. Jag vill ju veta om den sida jag är på just nu är den sista i historien. Exemplet du gav kollar ju om det finns några dokument i historen.

Jag kanske bara är besvärlig... x(

Hur kan man veta vilka variabler och funktioner som finns till history? Jag har inte hittat någon bra sida på nätet...

Något som liknar:

if (history.index[this] < history.length-1)...

är det jag söker...

:q

WebbmonstretMedlem sedan nov. 200060 inlägg
#9

Det finns

history.current

men det funkar inte i IE!

Kanske får ge upp! :(

135 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)