Avatar billede shoo Nybegynder
15. juni 2004 - 13:27 Der er 14 kommentarer

pop up vindue i fokus og i rette størrelse

jeg har et problem med pop up vinduer, jeg har lavet et javascript som åbner et nyt vindue i en bestemt størrelse, men når man klikker på et nyt link som åbner et vindue, åbnes tit det forgående vindue, dvs. indholdet er passer ikke i størrelsen til det vindue det åbnes i da det er tilpasset det første der åbnede.. hvad skal man gøre for at "overskrive" tidligere åbnede vinduer?
Avatar billede roenving Novice
15. juni 2004 - 13:44 #1
F.eks.

<script type="text/javascript">
var newWin = {'closed':true};

function openWin(url,features){
  if(!win.closed)win.close;
  newWin = window.open(url,'newWin',features);
  newWin.focus();
}
</script>

-- og så bruger du bare openWin på samme måde, som du ellers bruger window.open !-)
Avatar billede grunken Nybegynder
15. juni 2004 - 13:44 #2
kald dem samme navn, og resize

en hurtig funktion ville se sådan ud

function vindu(url,h,w){
var vindue = window.open(url,"vindu","height="+h+",width="+w);
vindue.resizeTo(h,w);
vindue.focus();
return false
}

kaldes med

<a href="#" onclick="return vindu('side.html','300','400');">Klik</a>

o.s.v.
Avatar billede grunken Nybegynder
15. juni 2004 - 13:44 #3
aha, kun 6 sek :o)
Avatar billede grunken Nybegynder
15. juni 2004 - 13:48 #4
-og Jes

if(!win.closed)win.close();
Avatar billede shoo Nybegynder
15. juni 2004 - 13:54 #5
ok, men hvis jeg nu har en kode der så således ud:

function nytvin(url, name, width, height) {
    popup(url, name, width, height);
}
hvordan skal mit kald så ændres: som feks. ser således ud nu:
java script:nytvin('http://www.knittingclub.dk/hej.html','vindue',600,400);
Avatar billede roenving Novice
15. juni 2004 - 13:54 #6
-- øv jeg ændrede navnet, for at være sikker på, at der ikke skulle være navnesammenfald, så det skal sæ'fø'li' være:

  if(!newWin.closed)newWin.close;
Avatar billede roenving Novice
15. juni 2004 - 13:56 #7
-- så ændrer du popup()-funktionen ... (vis den !-)

-- og det er da klodset at have en funktion, som kalder en funktion, når du bare direkte kan kalde popup() !o]
Avatar billede shoo Nybegynder
15. juni 2004 - 13:58 #8
klart:
function popup(url, name, width, height) {
    str = 'height=' + height + ', width=' + width + ', scrollbars=0, status=0, resizable=0';
    str += ', left=' + (screen.width - width)/2 + ', top=' + (screen.height - height)/3;
    win = window.open(url, name, str);
}
Avatar billede roenving Novice
15. juni 2004 - 14:03 #9
Tilføj de nye dele, enten grunkens eller min:


var win = {'closed':true};

function popup(url, name, width, height) {
    if(!win.closed)win.close;
    str = 'height=' + height + ', width=' + width + ', scrollbars=0, status=0, resizable=0';
    str += ', left=' + (screen.availWidth - width)/2 + ', top=' + (screen.availHeight - height)/3;
    win = window.open(url, name, str);
    win.focus();
}

-- og jeg ændrede lige placerings-udgangspunkterne til at være den bredde og højde, som i virkeligeheden er til rådighed, men det behøver du selvfølgelig ikke !-)
Avatar billede shoo Nybegynder
15. juni 2004 - 14:08 #10
hvad vil det sige "som i virkeligheden er tilrådighed"?
Avatar billede roenving Novice
15. juni 2004 - 14:13 #11
availWidth og -Height returnerer den del af skærmen, som ikke er optaget af Windows-komponenter, som f.eks. taskbaren (normalt i bunden !-)

screen.height og .width leverer de totale tal, så det kan blive noget skævt, hvis man bruger disse værdier ...
Avatar billede shoo Nybegynder
15. juni 2004 - 14:19 #12
ok, tak, men kan ikke lige gennemskue om det er problematisk hvis jeg bruger avail property'n
Avatar billede roenving Novice
15. juni 2004 - 14:25 #13
Øeh, problematisk ?-)

screen.availWidth og -Height har da vist været med siden de tidligste dage, men til gengæld vil du kun få egentlige problemer med screen.height og .width, hvis dine popups er i nærheden af hele skærmens størrelse !-)
Avatar billede shoo Nybegynder
15. juni 2004 - 14:51 #14
ok, det er bare min javascript udvidenhed der skinner igennem, men jeg har lige prøvet at ændre koden til det du skrev og det hjalp ikke :( jeg burde ikke ændre i mine kald vel?
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