Browser tilbageknap når Pop up tæller som sidevisninger

Tags:    asp embedded pop up tilbageknap

User
Jan Prien @ 03.04.18 20:56
Jeg passer Hegnsmanden.dk.
Ved indtasning kan brugeren åbne et pop up vindue med hjælp til indtastningen.
Pop up vinduerne er embedded (eller hvad det hedder), så brugerens browser ikke kan forhindre visningen.
Når brugeren åbner/ser et pop up vindue , indgår/tæller det tilsyneladende som en sidevisning, når/hvis brugeren vil tilbage til en tidligere set side vha. tilbageknappen i browseren.
Konkret: Hvis brugere link-klikker sig fra en side og ind på en anden side og her åbner 3 pop up vinduer, skal brugeren klikke 4 gange på tilbageknappen i browseren for at komme retur til siden han startede på.
3 klik for pop up vinduerne og 1 klik for at gå tilbage til forrige side.
Åbner brugeren ikke nogen pop up vinduer, er 1 klik på tilbageknappen nok.

Jeg har ledt og ledt i koden, men jeg kan ikke finde en counter for dette.
Derfor gætter jeg på, at det er en automatisk server funtionalitet, hvor brugeren set med serverens øjne bliver sendt kronologisk baglæns gennem de sider (inkl pop up) han har set, med én side for hvert klik på tilbageknappen.
Pop up vinduerne vises ikke igen, når brugeren klikker sig baglæns i forløbet, men det er måske fordi, de kun vises ved klik på deres link.
Hvis min gæt er rigtigt, har jeg brug for at kunne forhindre at pop up billederne indgår i tilbage-visnings rækkefølgen.
Alternativt at kunne slette dem i tilbage-visnings rækkefølgen.

Jeg har kodet det meste af siden selv (for 10 år siden), men ikke pop up vinduerne og/eller overførsel af data mellem vinduer.
Er mit gæt om at pop up indgår som sidevisninger ved tilbage forløb rigtigt, eller skyldes det her noget andet ?
Er der en løsning på problemet ?

Problemet har været der længe, tror jeg, men vi har ikke opdaget det før nu, hvor vi har lavet (ikke i produktion,) tvunget pop up visning, når brugeren klikker på et af indtastningsfelterne.
Eksempel på kode, som viser pop up:
<a class="hjalpetekstlink" href="javaScript:visHjaelpebox('valg_af_stolper_til_raftehegn',180,577,353,382);" onblur="javascript:lukHjaelpebox();return false;" OnClick=javascript:lukHjaelpebox();" size="1">?</a>

På forhånd tak.

Venlig hilsen
Jan



5 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
User
Jan Prien @ 03.04.18 20:58
Ps. Hvis dette ikke er det rigtige forum til mit spørgsmål, så vær sød at fortælle mig, hvor jeg kan stille spørgsmålet.
Tak.



User
Kim Larsen @ 06.04.18 10:44
Som udgangspunkt vil et popup-/modal-vindue ikke skabe en history men det kan selvfølgelig være kodet ind som en del af komponenten (selvom jeg tvivler) - kan det tænkes at du arbejder med nogle iframes i dine modaler? Kom evt med et link.



User
Jan Prien @ 07.04.18 13:27
Hegnsmanden.dk/pris_raftehegn.asp
--> beregn pris (en af 4 mulige)
--> udfyld formularen og se hjælpetekst(er) undervejs ved at klikke på spørgsmåltegn(ene)
--> beregn pris
--> browserens tilbageknap: For hver set hjælpetekst skal der trykkes en gang ekstra.
Ser man ingen hjælpetekster, fungerer history ok.

Problemet findes ikke med MS Edge, så den browser må håndtere histoy anderledes end de andre.

Fra formular siden og frem (beregn pris, kontakt mig, print tilbud osv) gennemløbes vores pris beregningen hver gang, men jeg kan ikke finde et kald nogen steder til siden, som afvikler beregningen.
Måske er kaldet server programmeret ?

En søgning på <iframe> på alle sider giver ingen hits.

Jeg gætter på, at problemet ligger i parameterne til funktionen, som viser hjælpetekst vinduerne:
function visHjaelpeboxCallback(url,t,l,w,h){

Findes der en tag/funktion, som sørger for at en sidevisning ikke indgår i history ?





User
Kim Larsen @ 07.04.18 23:36
Din popup indeholder en iframe (kan ses via browserens developer toolbar) og det er det der skaber history - enten skal du finde en anden løsning til popup eller også skal du forsøge at lege med lidt JavaScript, måske history.replaceState kan give løsningen.



User
Jan Prien @ 18.04.18 21:51
Hej Kim

Undskyld mit sene svar, vores sæson er netop åbnet og jeg ligger vandret med alt muligt andet end kode.
Men jeg nåede at bruge 3 aftener inden til at prøve forskellige placeringer af history.replace state, window.history.back() og window.history.go() men det løste ikke problemet.
Men nu har jeg fået kontakt til ham som oprindelig har kodet det, så jeg håber han kan hjælpe mig.
Jeg er ny her, så jeg har ikke nogen karma point at dele ud af.




t