Avatar billede bacce.dk Nybegynder
11. november 2006 - 16:38 Der er 19 kommentarer og
1 løsning

problem med window.open funktion

Hejsa

Jeg vil gerne lave en funktion som åbner et lille popup vindue i stil med dette.

<script language="JavaScript">
function open(){
window.open('Popup.php','Popup','status=no,menubar=no,directories=no,toolbar=no,location=no,scrollbars=no,resizable=no,width=450,height=200')
}
</script>

problemet er så at jeg via php's $_GET gerne skulle have nogle data med.
som hvis det var et almindeligt link skulle være noget i stil med
<a href="http://domain.dk/popup.php?id=2&noget_andet=1">link</a>

hvordan kan det gøres ?
alt efter ? vides ikke, og kan derfor ikke fastlægges
Avatar billede cpufan Juniormester
11. november 2006 - 16:52 #1
nu kender jeg ikke php og hvordan man skriver variabler ud men her er lidt psudokode:


<a href="http://domain.dk/popup.php?id= + phpskriv_variabel +">link</a>
Avatar billede cpufan Juniormester
11. november 2006 - 16:53 #2
du skal have phpkodestart og phpkodeslut tags omkring phpskriv og så ikke nogle +'er
Avatar billede cpufan Juniormester
11. november 2006 - 16:54 #3
Avatar billede boris Mester
11. november 2006 - 16:58 #4
I php kan du - f.eks. - skrive tilsvarende med ...  id=<?php print $variabel; ?>"
Avatar billede jhe-ting Nybegynder
11. november 2006 - 20:00 #5
Måske kan dette bruges:

var oPopWin = window.open('about:blank','Popup','status=no,menubar=no,directories=no,toolbar=no,location=no,scrollbars=no,resizable=no,width=450,height=200')
};

oPopWin.location.href=="http://domain.dk/popup.php?id=2&noget_andet=1";
oPopWin.Focus();
Avatar billede jhe-ting Nybegynder
11. november 2006 - 20:00 #6
hov:  ikke == kun =
Avatar billede boris Mester
11. november 2006 - 21:09 #7
vær opmærksom på, at mange har popop-blokeringer, som hindrer vinduet i at åbnes.
Avatar billede bacce.dk Nybegynder
11. november 2006 - 23:20 #8
cpufan>> jeg kan godt selv finde ud af min php del... og kan også skrive en almindelig <a href=""> det var en window.open funktion der understøttede mine php variabler jeg søgte....

noget i stil med det jhe-ting skriver....
Avatar billede bacce.dk Nybegynder
11. november 2006 - 23:22 #9
jhe-ting>> det skal ikke være en der åbner automatisk... det skal fungere som link ???
Avatar billede jhe-ting Nybegynder
12. november 2006 - 06:40 #10
Jeg mener du skulle kunne bruge det meste af dette.

I 'HEAD'-sektionen:

<script>
function popWin(href){
  var opt = "status=no,menubar=no,directories=no,toolbar=no,location=no,scrollbars=no";
  var loc = ",resizable=no,width=450,height=200";
  var oPopWin = window.open('about:blank','Popup',opt+loc);
    oPopWin.location.href=href;
    oPopWin.Focus();
}   
</script>

I 'BODY'-sektionen

enten:
<a href="java script:popWin('http://domain.dk/popup.php?id=2&noget_andet=1')">Vist</a>

eller:
<a href="java script:void(0)"
  onclick="popWin('http://domain.dk/popup.php?id=2&noget_andet=1')">Skjult</a>
Avatar billede bacce.dk Nybegynder
12. november 2006 - 13:24 #11
jhe-ting>> det ser sku meget rigtigt ud... den nupper jeg ;-)

Tak for hjælpen...
Avatar billede olebole Juniormester
13. november 2006 - 09:27 #12
<ole>

- er det ikke en lidt pudsig løsning?  :)

<script type="text/JavaScript">
function popWin(href){
  var opt = "status=no,menubar=no,directories=no,toolbar=no,location=no,scrollbars=no,resizable=no,width=450,height=200";
  var oPopWin = window.open(href,'Popup',opt);
    oPopWin.focus();
}   
</script>

<a href="http://domain.dk/popup.php?id=2&noget_andet=1" onclick="popWin(this.href);return false">Vist</a>

/mvh
</bole>
Avatar billede bacce.dk Nybegynder
13. november 2006 - 17:46 #13
ole>> hvad mener du med at det er en pudsig løsning ?
Avatar billede olebole Juniormester
14. november 2006 - 08:47 #14
Når nu open-metoden er konstrueret til at sende sidens URL som første argument, finder jeg det en ret 'alternativ' løsning først at åbne en tom side - for derefter at udskifte den med den ønskede side.

Derudover er der ingen grund til at bruge JavaScript pseudo-protokollen til at udføre en tom JS-handling. Det er væsentligt mere logisk at anvende event-handler'en som tænkt - og cancel'e linkets standard handling ved at returnere falsk.

Type-attributten på et script-element er obligatorisk - og sidst men ikke mindst er JavaScript som bekendt case-sensitive og focus-metoden staves med småt.

- jeg kunne ikke finde venligere beskrivelse end 'pudsig'  =)
Avatar billede boris Mester
14. november 2006 - 09:32 #15
Du kunne da have kaldt det en fungerende Storm P-løsning. Det ville da være lidt venligere. :-)
Brugbare svar kom allerede i starten.
Avatar billede jhe-ting Nybegynder
14. november 2006 - 13:17 #16
>> hej igen Boris.
Det er tilsyneladende ikke oleboles stærke side at vise venlighed. Jeg mener ellers at eksperten burde være et hyggeligt sted, hvor man kunne udveksle praktiske erfaringer på positiv vis...

Da jeg så spørgsmålet, regnede jeg med, at man ikke kunne bruge

<script language="JavaScript">
function popWin(){
  var oWin = window.open('http://domain.dk/popup.php?id=2&noget_andet=1'>,'Popup','status=no,menubar=no,directories=no,toolbar=no,location=no,scrollbars=no,resizable=no,width=450,height=200');
  oWin.focus();
}
</script>

Derfor kom jeg med de andre forslag. Hvis dette virker er dét mere direkte. Så du kan slippe for pudsigheder... :P

PS: bruger ikke PHP, og har ikke afprøvet parameteroverførslen. Prøv det...
Avatar billede jhe-ting Nybegynder
14. november 2006 - 13:20 #17
Ups der 'sneg' sig lige et '>' ind hvor det ikke skulle være.

..._andet=1'>,'Popup'... skal jo bare være  ..._andet=1', 'Popup'...
Avatar billede boris Mester
14. november 2006 - 13:43 #18
Men man må da medgive, at oleboles indlæg indeholder visse relevante argumenter.
Jeg bruger (helst) heller ikke PHP og desuden så lidt javascript som muligt.

Men hovedproblemet med popop ser jeg et helt andet sted, nemlig i at det er en absolut nødlødning at bruge popop, fordi det ikke er særligt brugervenligt at lave noget, der ikke fungerer af sig selv hos alle dem, der har en popop-spærring.
Avatar billede olebole Juniormester
14. november 2006 - 14:11 #19
jhe-ting >> Der er intet somhelst uvenligt eller negativt i at påpege, når der er blevet foreslået invalid og/eller ubrugelig kode ... det er da tværtimod det diamentralt modsatte.
Skal jeg være mere 'hyggelig' eller 'positiv', må det vel betyde, at jeg skal rose dig for at skrive den slags ... det bliver så helt afgjort over mit lig!  ;o)

Faktisk tillader langt de fleste popup-spærringer, at popups åbnes, hvis det sker som resultat af en brugerhandling - som f.eks. et klik på en knap eller et link.
Det er heller ikke det, der giver brugere problemer, men alle de forbandede popup-reklamer, som vi vist alle gerne slipper for  :)
Avatar billede bacce.dk Nybegynder
14. november 2006 - 19:42 #20
Først... jeg mener absolut ikke at ole's kommentar på nogen måde var negativ, eller noget der lignede.... var bare nysgerig om hvad han egentlig mente.

Og da jeg absolut ikke forstår mig på javascript, kan jeg ikke se om det er en god løsning eller en eventuelt dårlig løsning, og i så fald havde jeg formentlig været i stand til at lave det selv. :-)

Men tak for jeres input, de er da bestemt brugbare....
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