webForumDet fria alternativet

Göra så att sidan inte laddas om vid uppdatering?

JavaScript

13 svar · 394 visningar · startad av Mika3l

Medlem sedan nov. 20018 492 inlägg
Frågan#1

Kan man göra så att en sida i ett frameset inte laddas om om man trycker F5 eller uppdaterar via "Uppdateraknappen" i webbläsaren?
Kanske går med något annat än JavaScript men det var den första tanken som slog mig...

Tacksam för svar!

/Mika3l

Medlem sedan mars 20015 287 inlägg
#2

Varför?

Medlem sedan nov. 20018 492 inlägg
#3

Har en "dold frame" som öppnar en popupruta när en besökare lämnar sidan för att sätta ett värde så att han/hon får statusen offline...
Skulle man köra popupen på varje sida så blir det ju lite problem...

Medlem sedan okt. 2001538 inlägg
#4

En tanke som slår mig är att jag undrar varför användaren måste uppdatera sidan?
Jag menar det går väl att styra upp själv med meta-taggen?
Och om det nu inte skulle vara en bra lösning så tror jag väl att man på något sätt borde kunna pilla ihop något litet javascript som laddar om sidan (just den sida som behöver laddas om då) via en knapp på själva sidan... med onclick eller så...

Och slutligen en sista tanke, egentligen en vidareutveckling på meta taggs tanken, om det är ett helt framesett du vill uppdatera fast inte just den där dolda framen så kan du ju alltid skapa ett frameset med huvudinnehålls ramen, och den dolda ramen, och i huvudinnehålls ramen lägger du ett nytt frameset, och på det nya frameset:et kan du ju köra en meta-tagg...

Eller också så är jag bara ute och cyklar alldeles för sent ;)

MVH Patrik

Medlem sedan juli 20011 084 inlägg
#5

Jag skulle ha gjort en lösning vi asp (därför att jag inte kan javascript så bra, men går säkert att göra samma i js) som ser ut som följer.

If Request.QueryString("update") = "ja" Then
'javascript koden här
End If

Så när man uppdaterar sidan så körs inte koden, för update är inte "ja". När man sedan vill uppdatera länkar man till sidan med tex sida.asp?update=ja då kommer koden köras men inte annars!

Medlem sedan nov. 20018 492 inlägg
#6

Det är ett forum så man använder nog uppdatera lite då och då. ;)
Dessvärre så går inte det du hade tänkt dig mozilla för det blir ju ganska krångligt för besökaren att skriva en massa grejer när man ska uppdatera sidan. :l
Det finns ju så man kan navigera m.h.a olika knappar i JavaScript, kan man inte bara göra så att om man trycker F5 så händer inget, då har man ju F5 fixad iallafall...

Medlem sedan mars 20015 287 inlägg
#7

Kanske läge att använda sig av sessions (asp) istället för att ha någon sort funktion som triggas när man lämnar sidan. (=eller uppdaterar)

Medlem sedan nov. 20018 492 inlägg
#8

Förklara lite närmare solbulle...

Medlem sedan juli 20011 084 inlägg
#9

Kan man göra så att en sida i ett frameset inte laddas om om man trycker F5 eller uppdaterar via "Uppdateraknappen" i webbläsaren?

hmm... meningen är väll att besökaren själv inte ska kunna uppdatera den framen? Utan bara när man loggar ut eller liknande?

Det är ju precis det koden gör? När användaren trycker på "update" händer det inget med koden i den framen, dock i alla andra. När du sedan vill köra koden skriver du bara (i asp)

Response.Redirect "sida.asp?update=ja"

först då körs koden. solbullens förslag är dock bättre om du har kunskaper och server att använda tex asp. Söka på sessions i asp forumet så får du nog lite mer hjälp.

Medlem sedan nov. 20018 492 inlägg
#10

Kan sessionhantering +mer därtill, vet dock inte riktigt hur han menar.
Det som ligger i framen som "inte får uppdateras" är en kod som fixar lite olika uppgifter(t.ex om han/hon är online/offline) om besökaren bara stänger webbläsaren eller surfar vidare.
Ska testa en idé jag just fick....

Medlem sedan nov. 20018 492 inlägg
#11

Jupp, det löste sig snabbt och bra. :)
Jag inkluderar en kod på varje sida som fixar till värdena om besökarens session inte är tom(med andra ord om besökaren är inloggad).
Fungerar fint. :)

Medlem sedan mars 20015 287 inlägg
#12

Mika3l: Bra! :)

mozilla:

Om man har ett script som triggas av "onUnload" körs ju hur som helst om du uppdaterar sidan "manuellt" med F5 och då fungerar det väl inte att göra som du föreslår?

Medlem sedan juli 20011 084 inlägg
#13

inte laddas...

jag vet inte riktigt om jag läst fel? Men det står ju inte laddas? Om skriptet bara körs när Request.QueryString("update") = "ja" så körs det ju inte på Uppdatera eller F5? För vad jag vet så lägger den själv inte på ?update=ja när man trycker på F5 eller Uppdatera knappen? Kan ju lägga till att den koden jag skrev, var bara för att man inte vill att koden ska köras på F5 eller uppdatera... hur man ska lösa de andra är en annan femma ;)

Medlem sedan mars 20015 287 inlägg
#14

Jo.. men om du kommit in på en sida med adressen: sida.asp?update=ja och uppdaterar på ett eller annat sätt, så inte blir du av med ?update=ja på kuppen?
Du har rätt i att innan man kommit så långt körs ju inte koden men när man väl är där kan den köras om o om igen vid uppdatering.

645 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
504 ms — hämta tråd, inlägg och bilagor (db)
137 ms — ändringar (db)