Avatar billede falslev Nybegynder
19. februar 2004 - 08:57 Der er 17 kommentarer

Kan man lave alert når en bruger klikker på browserens tilbage kn

Hvis jeg husker rigtigt kan man i javaScrip gøre så man få en alert hvis men trykker på den tast eller højreklikker med musen.

Kan man sætte det sådan op så det også sker hvis en bruger klikker på browserens tilbageknap?
Avatar billede pelkjaer Nybegynder
19. februar 2004 - 09:34 #1
Nej, ikke som en direkte konsekvens af at der klikkes på browserens tilbageknap.
Man kan dog lave en alert eller en confirm, umiddelbart inden siden forlades, men det er ikke helt det samme.
Avatar billede satanic_raven Nybegynder
19. februar 2004 - 13:43 #2
Du kan bruge pelkjaer's eksempel...

Mener at koden ser sådan ud:

<body onunload="alert('Den_Besked_Du_Vil_Give')">

Hvis det ikke virker, så prøv at tilføje "java script:" foran "alert(...)", uden "'er altså... :P

S.R.
Avatar billede roenving Novice
19. februar 2004 - 15:37 #3
>>satanic_raven

_aldrig_ java script: pseudo-protokollen i javascript-events !-)

-- og så lige krøllen om, at en onunload-event vil være tilknyttet det hukommelses-rum, som browseren har afsat til det konkrete browser-vindue, og det nedlægges ved unload !-)

-- så det, som skal ske i eventen, må ikke tage mange split-sekunder ...
Avatar billede satanic_raven Nybegynder
20. februar 2004 - 05:35 #4
Nu fatter jeg så ikke lige ret meget af hvad du siger, men jeg ikke se det store problem i min løsning...

<body onunload="window.open('test.htm')">

Ovenstående kode åbner et andet doku når vinduet lukkes ned, eller det gør det da på min...

Så hvis man kan kalde én JS kommando med onunload, kan vel for gud i himlen også kalde en anden...

Og HAR lige testet min kode... Og den virker fint, så skriver den lige igen...

<body onunload="alert('Den_Besked_Du_Vil_Give')">

Er ved at være ret træt af at du ALTID kommenterer mine kreative løsninger på en dårlig måde...

OG mht. det med "java script:", kan det laves om til:

<script language="JavaScript">
  function Besked()
      {
      alert('Her er en dum besked!!!');
      }
</script>

<body onunload="java script:Besked()">

</body>

Grunden til at jeg ALTID tilføjer "java script:" som en mulighed foran en evt. JS-kommando, er at det ikke altid virker bare at kalde et script uden brug af dette...

Det er ihvertfald MIN erfarring...

S.R.
Avatar billede pelkjaer Nybegynder
20. februar 2004 - 08:32 #5
satanic raven>>roenving har faktisk ganske ret. I javascript events (onclick, onload etc.) må der ikke skrives "java script:".
Desuden tror jeg ikke at han kommenterer dig for at generere, kun for at hjælpe.

At du somme tider ikke kan få det til at virke uden, kunne jeg forstille mig var med lign:
<a href="functionsNavn();"></a> kontra <a href="java script:functionsNavn();"></a>

I så fald kan du få problemer, men selv her er ville jeg istedet skrive et null link i href'en, og så angive en javascript event handler.
Avatar billede falslev Nybegynder
20. februar 2004 - 09:31 #6
Den løsning virker bare ikke tror jeg.
Prøver lige at beskrive lidt mere.
Hvis man laver f.eks. webshops kan det nogle gange være et problem hvis folk bruger browserens tilbagekanp i stedet for shoppens tilbageknapper. Derfor søgte jeg en løsning der kunne deaktivere eller give alert når tilbage knappen bruges.
Avatar billede pelkjaer Nybegynder
20. februar 2004 - 11:52 #7
IE only:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
window.onbeforeunload = function() {
  var msg = "Hvis du forlader siden, vil bla bla blive afbrudt!"
  return msg;
}
</script>
</head>
<body>
</body>
</html>
Avatar billede pelkjaer Nybegynder
20. februar 2004 - 11:59 #8
har uploadet et eks: http://www.peterelkjaer.dk/exp/close.html
Tryk "hjem", eller "tilbage" eller "luk" - ja whatever i din IE browser.
Avatar billede falslev Nybegynder
20. februar 2004 - 13:56 #9
Men vil den confirm box ikke også komme hvis de bare klikker på et link i mit system?
Avatar billede satanic_raven Nybegynder
20. februar 2004 - 15:50 #10
pelkjaer... Det kan godt at der ikke MÅ skrives "java script:" i sådanne events, men jeg kan vel egentlig være lidt ligeglad når bare skidtet virker...

Og bare for at vise det, har jeg uploadet et eksempel her:
www.rathan.dk/eksperten/luk.htm

Det virker fint på min...

S.R.
Avatar billede pelkjaer Nybegynder
20. februar 2004 - 16:16 #11
satanic raven>>Så kan man vælge at se på det. Det har nu aldrig været min holdning, jeg ønsker konstant at blive dygtigere, og derfor lytter jeg også.

faslev>>Ja og nej. Du kan bygge funktionen ind i en if/else - eller på serversiden, således at den KUN fremkommer når de forlader siden på en måde DU ikke havde tænkt dig. Ligesom Microsoft gør i windows update. Vil du forlade under download processen, får du en confirm, ellers gør du ikke.
Avatar billede satanic_raven Nybegynder
20. februar 2004 - 16:24 #12
pelkjaer... Jeg lytter skam også, men bliver bare irriteret når nogen siger mig imod mht. noget jeg er sikker på virker...

Og kan ikke rigtig se problemet med at bruge "java script:" i events så længe det virker, så hvis du eller roenving kan forklare, i alm. ord for os alm. dødelige, hvad der er så dårligt ved det, ville jeg skam blive glad...

Ligesom dig ønsker jeg at blive bedre, men gider ikke bøje mig i støvet overfor dem der ved mere end mig, når mine løsninger også virker...

Det er nu engang min holdning...

S.R.
Avatar billede pelkjaer Nybegynder
20. februar 2004 - 16:31 #13
Det skal du heller ikke, en diskussion er sund en gang imellem, og udfaldet gør ofte også at det synker fint ind.

Jeg ved godt at det virker, men det er bare forkert brug af pseudo-protokollen, der er ingen idé i at angive javascript i en javascript event.
Var det en <a href> uden en javascript event-handler der var tale om, er snakken en lidt anden.
Generelt bruges java script: til sideskift og andet, på linje med http:// eller ftp://
Avatar billede roenving Novice
22. februar 2004 - 06:03 #14
>>satanic_raven

Nu skal vi jo ikke starte forfra, når der er gået flere døgn, E* har været nede -- og hvad har vi ...

Men de konkrete spørgsmål skal jo have et svar:

java script: er i princippet en URI-protokol, som browseren bare skal gøre noget specielt ved, ligesom den skal noget forskelligt, når der står http://, ftp:// eller file:// i adresselinjen ...

At det principielt er ugyldig script-kode får mig til at reagere, selvom der vist ikke er nogen browser, som misforstår det med en fejl til følge, det er bare dårlig karma, og bør nærmest føre til et stille grin, som hvis du i bussen siger: 'En omstigning', når du skal købe billet !o]

(Faktisk et godt billede, for indtil en gang i 60'erne eller 70'erne, kunne man købe 2 forskellige slags billetter i de københavnske busser og sporvogne: ligeud eller omstigning !-)

-- og så lige til falslevs spørgsmål:

Du kan jo, hvis den måde folk skifter side på, er en du har check på, sætte en variabel, som du kan checke på, og så undlade popup'en, så med pelkjaer 20/02-2004 11:52:24, kunne man:

window.onbeforeunload = function() {
  if(controlledPageChange)return true;
  var msg = "Hvis du forlader siden, vil bla bla blive afbrudt!"
  return msg;
}
Avatar billede falslev Nybegynder
15. august 2004 - 21:22 #15
Er der en der kan give mig et komplet eksempel på noget i denne stil:

window.onbeforeunload = function() {
  if(controlledPageChange)return true;
  var msg = "Hvis du forlader siden, vil bla bla blive afbrudt!"
  return msg;
}
Avatar billede roenving Novice
15. august 2004 - 21:43 #16
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
var controlledPageChange = false;
window.onbeforeunload = function() {
  if(controlledPageChange)return true;
  var msg = "Hvis du forlader siden, vil bla bla blive afbrudt!"
  return msg;
}
</script>
</head>
<body>
<a href="enAndenSide.html" onclick="controlledPageChange = true;">En anden side</a>
</body>
</html>
Avatar billede falslev Nybegynder
15. august 2004 - 21:55 #17
Løser desværre ikke mit problem.
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

Capgemini Danmark A/S

Client Partner

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger Entreprise Arkitekt

Netcompany A/S

IT Consultant