Avatar billede clausga Nybegynder
28. april 2005 - 18:35 Der er 18 kommentarer

Lukke funktion som skifter side

Virker dette i alle browsere ??

<a href="#" onclick="opener.location.href='side.php';window.close();return false;">Næste trin</a>

Det er nemlig fordi jeg bruger den i et betalings vindue så skal helst virke i alle browsere.... eller er der nogle andre ting der virker bedrer ?
Avatar billede cmau Nybegynder
28. april 2005 - 20:53 #1
Har du et link, så kunne vi jo teste? :)
Avatar billede busschou Praktikant
28. april 2005 - 21:16 #2
tja giv et link ja så kan vi jo teste det
Eller hent nyeste IE,FF,Netscape,Opera ... som nok er de største..
Avatar billede thesurfer Nybegynder
28. april 2005 - 23:56 #3
cmau + busschou> hehehe... er det det, der afholder jeg i at teste koden..? :-)

Opret en "hovedside.htm" med indholdet:
<a href="#" onclick="window.open('popup.htm','popup','');return false">åben popup</a>

Opret en "popup.htm" med indholdet:
<a href="#" onclick="opener.location.href='side.php';window.close();return false;">Næste trin</a>

Hvis I klikker på "åben popup", åbnes siden "popup.htm" i et nyt vindue.. Hvis I klikker på "Næste trin" i popup'en, skulle hovedsiden gerne skifte, og popup'en skulle gerne lukke sig selv.

Så kan I nu teste det, med de browserer I nu måtte have installeret :-)
(nej, jeg har ikke testet det..)
Avatar billede roenving Novice
29. april 2005 - 12:54 #4
I og med at det er javascript i en komplikationsgrad, som ligger helt tilbage til de første udgaver, er det rimeligt at forvente, at det virker i alle browsere ...

-- der er selvfølgelig de browsere, hvor brugeren har disablet javascript, der vil det selvfølgelig ikke virke, men jeg har en kraftig mistanke om, at de 6-13% som counterne finder uden javascript slået til, stort set er robotter fra søgemaskiner og f.eks. email-harvesters !-)
Avatar billede clausga Nybegynder
29. april 2005 - 18:40 #5
ok det vil sige at jeg sagtens kan bruge den til mit betalings vindue ?
Avatar billede thesurfer Nybegynder
29. april 2005 - 23:36 #6
Yep :-)

Husk.. java script:

- Slået til = ingen problemer
- Slået fra = "#" loades/tilføjes slutningen af den nuværende adresse (f.eks. side.php#)
Avatar billede olebole Juniormester
30. april 2005 - 03:08 #7
<ole>

Hvis man er 'hysterisk' omkring folk, der måtte have JS slået fra, kunne man jo skrive:

------------ sideA.php ------------

<a href="sideB.php" onclick="window.open(this.href,'popup');return false">LINK</a>

------------ /sideA.php ------------

------------ sideB.php ------------

<a href="sideA.php" onclick="opener.location.href=this.href;window.close();return false">Tilbage</a>

------------ /sideB.php ------------

Så åbner popup'en som sædvanligt, hvis brugeren har JS slået fra.
Er JS derimod slået fra, foretages de samme handlinger blot i hovedvinduet  :)

/mvh
</bole>
Avatar billede clausga Nybegynder
30. april 2005 - 09:19 #8
Jeg er ikke helt med ole ?
Avatar billede olebole Juniormester
30. april 2005 - 11:36 #9
Slå JS fra og prøv det i et lille eksempel. Det er vist lettere, end at få det forklaret  :)
Avatar billede olebole Juniormester
30. april 2005 - 11:37 #10
Du kan også bare slette (eller blot se bort fra) onclick-handler'ne på de to links - så er det vist helt klart, hvad der sker, når JS er slået fra  ;o)
Avatar billede olebole Juniormester
30. april 2005 - 11:40 #11
Hehe ... så fik jeg vist trykket mig lidt skævt ud i det oprindelige indlæg. Der skulle naturligvis stå:

"Så åbner popup'en som sædvanligt, hvis brugeren har JS slået til.
Er JS derimod slået fra, foretages de samme handlinger blot i hovedvinduet"

Sidste ord i første linie, giver jo en noget anden mening i hele sætningen  ;D
Avatar billede clausga Nybegynder
30. april 2005 - 12:14 #12
ok og når jeg så klikker på næste trin går den bare videre til den sidste side!!!
Avatar billede olebole Juniormester
30. april 2005 - 12:23 #13
Jeg forstår ikke ... du viser to links, du gerne vil have til at virke. Det gør de på den måde, jeg viser - med og uden JS  :)
Avatar billede clausga Nybegynder
30. april 2005 - 14:18 #14
det skal virke sådan her

side1.php der åbner jeg mit pop-up vindue i hvorfra dankort oplysinger skal indtastes til betaling....

side2.php er den side kunden får når betalingen er gemmen ført, her skal der så være en link som lukker popup vinduet (side2.php) og derefter får side1.php til at skifte til side3.php
Avatar billede olebole Juniormester
30. april 2005 - 14:27 #15
Jeg forstår ikke dit problem og hopper ud af spm'et igen  :)
Avatar billede clausga Nybegynder
30. april 2005 - 14:38 #16
problemmet at at hvis folk ikke har javascript slået til..... så skifter side1.php IKKE til side3.php og derved får folk ikke deres ordrebekræftelse.... ?
Avatar billede thesurfer Nybegynder
05. maj 2005 - 17:13 #17
clausga>

Ifølge dit spm, spørger du om onclick="opener.location.href='side.php';window.close();return false;" virker i alle browsere.

Koden der står i onclick, i dit spm, gør følgende:
1) "hovedvinduet" (den der åbnede popup'en) loader filen "side.php"
2) popup vinduet lukke sig selv
3) "return false" sørger for, at popup vinduet ikke loader adressen "#" (som er defineret i: href="#")

Se f.eks. 28/04-2005 23:56:44

Roenving nævner så (i indlægget 29/04-2005 12:54:09), at onclick-koden kræver at JavaScript er slået TIL, hvilket er fuldstændigt korrekt :-)
Han skriver også, at koden IKKE vil virke, i de browsere hvor JavaScript er slået FRA, hvilket også er fuldstændigt korrekt :-)

Du spørger så (i indlægget 29/04-2005 18:40:08), om du kan bruge det i dit betalingsvindue.
- Jeg svarer "Yep", og minder dig om, at det kun virker, hvis JavaScript er slået TIL (se indlægget 29/04-2005 23:36:09)

Olebole laver så et eksempel (se indlægget 30/04-2005 03:08:41), på hvordan man kan sikre sig, at det virker, selvom JavaScript er slået FRA.

Af en eller anden grund, kan du ikke se hvordan eksemplet virker. Og det forvirrer olebole. Du skriver så en ny forklaring (indlægget 30/04-2005 14:18:49), som af en eller anden mærkelige grund, får olebole til at hoppe ud af spm'et.. forstår jeg ikke helt :-)

Jeg har forstået indlægget (30/04-2005 14:18:49) sådan her:

1) hovedvinduet loader filen "side.php".
2) fra hovedvinduet, kan man åbne en popup med filen "side1.php" (?)
3) i popup-vinduet, indtaster man sine dankort-oplysninger
4) når betalingen er gennemført, loades filen "side2.php" i pop'en
5) fra popup'en (der har loadet "side2.php") skal man kunne klikke på et link.
6) linket i popup'en åbner filen "side3.php" i hovedvinduet ("opener"), og IKKE selve popup'en
7) efter at hoveden loader/er begyndt at loade "side3.php", skal popup'en lukke sig selv
8) brugeren får ordrebekræftelsen i hovedvinduet


Hvis JavaScript er slået TIL, er der ikke noget problem.

Hvis JavaScript er slået FRA, loades "side2.php" i hovedvinduet, da der IKKE kommer et popup vindue. Dvs:
a) siden/filen der SKULLE være loadet i popup, loades i hovedvinduet
b) i den side/fil i hovedvinduet, indtastes dankort-oplysningerne
c) når betalingen er gennemført, skifter hovedvinduet til "side2.php"
d) fra "side2.php" (der er loadet i hovedvinduet), er der et link til "side3.php"
e) brugeren får ordrebekræftelsen i hovedvinduet



---
Hvis jeg har misforstået det, må du meget gerne forklare det i trin, som jeg har gjort i dette indlæg
---


Konklusion:
Brugeren får ordrebekræftelsen i hovedvinduet, lige meget om han/hun har JavaScript slået TIL eller FRA!
Avatar billede thesurfer Nybegynder
15. juni 2005 - 21:17 #18
clausga> Kom lige med noget feedback.. :-)

Og kig lige dine ubesvarede spm igennem:

http://www.eksperten.dk/list.phtml?sort=&order=DESC&status_1=on&status_2=on&spm_creator=clausga&spm_part=&spm_answer=&find=&engine=exp

/theSurfer
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