Avatar billede mik28 Seniormester
30. marts 2011 - 09:13 Der er 13 kommentarer og
1 løsning

er det muligt at tricke et javascript når en bruger trykker på tilbageknappen

er det muligt at tricke et javascript når en bruger trykker på tilbageknappen
Avatar billede intenz Novice
30. marts 2011 - 09:46 #1
Du kan forsøge onunload eller onbeforeunload eventen.

window.onunload = function() {
  alert('onunload');
};

window.onbeforeunload = function() {
  alert('onunload');
};


Der er ingen garanti for at de bliver kørt, men det er det bedste bud. Opera kører vist ikke disse events når man trykker tilbage.
Avatar billede olebole Juniormester
30. marts 2011 - 21:01 #2
<ole>

Når du specifikt spørger om Back knappen, kunne det pege i retning af problemer med en form. I så fald tager du fat i den forkerte ende - og bør løse problemet på anden måde (formodentlig serverside). Under alle omstændigheder kan du ikke aftaste et klik på Back knappen.

Fortæl lidt mere om årsagen til spm'et

/mvh
</bole>
Avatar billede mik28 Seniormester
31. marts 2011 - 08:29 #3
Det drejer sig om at jeg har et flow som har nogle successenarier. Hvis de ikke bliver opfyldt, altså hvis man trykker på et "forkert" link ønsker jeg at de skal have en infoside. Noget i den her stil

<html>
<head>
</head>
<body>
<script>
var showPopup = true;
window.onunload = function() {
    if(showPopup==true){
    window.location = "http://www.exp.dk"
    //alert('popup');
    }
};
</script>
<br />
<a href="#">SKAL TRICKE POPUP</a>
<br />
<a href="http://failblog.org">SKAL TRICKE POPUP</a>
<br />
<a href="http://google.dk">SKAL TRICKE POPUP</a>
<br />
<a href="http://google.dk">SKAL TRICKE POPUP</a>
<br />
<a href="http://google.dk">SKAL TRICKE POPUP</a>
<br />
<a href="http://google.dk" onclick="showPopup=false;">SKAL IKKE TRICKE POPUP</a>
</body>

</html>

Hvor det sidste link er det "rigtige"
Avatar billede olebole Juniormester
31. marts 2011 - 17:44 #4
Det får du svært ved at implementere - ikke mindst, hvis det skal virke X-browser
Avatar billede mik28 Seniormester
01. april 2011 - 07:55 #5
Okay. Det undre mig lidt. Er onunload ikke det sidste der bliver kørt inden man forlader en side? Hvordan kan det være at jeg får min alert men ikke bliver sendt til den side der står i scriptet?
Avatar billede olebole Juniormester
01. april 2011 - 13:23 #6
Det er da hamrende logisk. Det skyldes, at de, der udvikler standarder og browsere, tænker sig om. Selvfølgelig kan du ikke sende en bruger et andet sted hen end der, hvor han gerne vil hen. Det ville udløse utålelige forhold, hvor man ikke ville kunne forlade et domæne, hvis ejeren ikke ønsker det.
Avatar billede mik28 Seniormester
01. april 2011 - 13:36 #7
Det er jo så sandt som det er sagt, ved nærmere eftertanke. Jeg er ikke interesseret i at brugeren ikke kommer til den side der bliver klikket på. Jeg vil bare gerne samle noget info op hvis han ikke følger flowet :-)
Avatar billede olebole Juniormester
01. april 2011 - 13:44 #8
Så bruger du bare intentions attributten:


<a href=" ... " intentions="no-bad">SKAL TRICKE POPUP</a>

Avatar billede mik28 Seniormester
01. april 2011 - 17:24 #9
meget morsomt
Avatar billede olebole Juniormester
01. april 2011 - 17:27 #10
Som svar på, at du ikke har slemme hensigter, var det den mest seriøse kommentar, jeg kunne komme på  =)
Avatar billede mik28 Seniormester
01. april 2011 - 17:49 #11
Jamen fint nok. Jeg finder nok en løsning. Det handler jo ikke om at jeg vil forhindre brugeren i at navigere, blot om at vise en infobox hvis flowet bliver brudt. Logikken skulle være hvis a eller b gå videre i flowet, ellers vis en besked ala "jeg kan se du har valgt at afbryde flowet. Er der noget vi kan hjælpe med, eller har du lyst til at svare på et par spørgsmål <LUK>".
Avatar billede olebole Juniormester
01. april 2011 - 18:05 #12
Ja, det har jeg skam forstået for længe siden. Problemet er bare, at det ville kunne bruges yderst destruktivt - og derfor kan man naturligvis ikke.

Du kan give spørgeren en popup, men selvfølgelig kan du ikke tvinge ham til ikke at forlade din side. Det ville være hul i hovedet at muliggøre noget sådan.

Andre gange kunne det være fedt at kunne lave en programmatsik upload af en bestemt fil - eller at kunne skrive en fil på brugerens PC. Selvom den slags kunne være rart i specielle situationer, ville det helt indlysende være komplet tåbeligt at åbne for de muligheder  *o)
Avatar billede olebole Juniormester
01. april 2011 - 18:08 #13
Du kan skrive:


<body .... onbeforeunload="return 'Er du sikker?'">



Så kan brugeren selv vælge, om han vil blive eller forlade siden. Du kan så gøre den betinget af en variabel, som du selv viste ovenfor. Det er nok det tætteste, du kan komme
Avatar billede mik28 Seniormester
02. april 2011 - 07:56 #14
Okay. Anyway så tak for hjælpen
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

IT-JOB

Forsikrings- og pensionsakademiet A/S

IT-teknisk profil

Politiets Efterretningstjeneste

Datacentertekniker hos PET