Avatar billede ullabritt Nybegynder
10. marts 2001 - 16:03 Der er 2 kommentarer og
1 løsning

posisjonering av browser-vindu

Av forskjellige grunner önsker jeg å posisjonere et browservindu åpnet av en javasctript-funksjon (w=window.open(etc))eksakt over en frame tilhörende et frameset i det opprinnelige browservindu. Eller i det minste få övre venstre hjörner til å sammenfalle. For få til det kan jeg bruke w.moveTo(x,y), hvis jeg kjenner x og y som absolute koordinater for framens övre venstre hjörne. Men hvordan får jeg tak i dem??! De må jo eksistere som properties i windowobjektene (og derved også i en frame). Ellers hadde jo ikke metodene moveTo()/moveBy() kunnet fungere. Men jeg begriper ikke hvordan dette skal gjöres. Hjelp meg!
Avatar billede visionmagic Nybegynder
10. marts 2001 - 18:45 #1
Put dette ind i den HTML-fil, du vil have skal hoppe til position 20, 20:
Eller har jeg misforstået spg.??

<script language=\"javascript\">
Move_WindowX = 20;
Move_WindowY = 20;
self.moveTo(Move_WindowX,Move_WindowY);
</script>
Avatar billede jakoba Nybegynder
10. marts 2001 - 21:18 #2
i Netscape er det nogenlunde til at beregne:

top.innerWidth = \'1185\'        ; hele browserwinduets tegneareal
top.innerHeight = \'643\'
top.outerWidth = \'1197\'        ; hele browserwinduets størrelse
top.outerHeight = \'767\'
top.screenX = \'59\'            ; selve browserens øvre venstre hjørme
top.screenY = \'172\'

top.frameID.innerWidth = \'585\'      ; denne rammes tegneareal
top.frameID.innerHeight = \'315\'
top.frameID.outerWidth = \'1197\'    ; hele browserwinduet.
top.frameID.outerHeight = \'767\'
top.frameID.screenX = \'59\'          ; selve browserens øvre venstre hjørme
top.frameID.screenY = \'172\'

så for at positionere et vindu over nedre vendstre ramme skulle du bruge

  xpos = top.screenX;
  ypos = top.screenY +top.frameID.innerHeight
        +(top.outerHeight-top.innerHeight -(lidt for underkanten)

I Explorer kan jeg ikke hitte noget der duer. Nedenstående fandt jeg med IE4, mon ikke nyere IE har nogle flere (bedre) værdier? Eller nogen andre kender dem :).
du kan evt lede med: http://hjem.get2net.dk/Jakob.Aggernaes/javascript/javascript90.html
(men jeg giver ingen garanti for at den overhovedet virker i i IE5+)

top.document.body.clientHeight = \'780\'
top.document.body.clientLeft = \'2\'
top.document.body.clientTop = \'2\'
top.document.body.clientWidth = \'1085\'
top.document.body.offsetHeight = \'784\'
top.document.body.offsetLeft = \'0\'
top.document.body.offsetTop = \'0\'
top.document.body.offsetWidth = \'1089\'

top.frameID.document.body.clientHeight = \'373\'
top.frameID.document.body.clientLeft = \'0\'
top.frameID.document.body.clientTop = \'2\'
top.frameID.document.body.clientWidth = \'526\'
top.frameID.document.body.offsetHeight = \'389\'
top.frameID.document.body.offsetLeft = \'0\'
top.frameID.document.body.offsetTop = \'0\'
top.frameID.document.body.offsetWidth = \'542\'

top.frameID.document.body.scrollHeight = \'1529\'
top.frameID.document.body.scrollLeft = \'0\'
top.frameID.document.body.scrollTop = \'0\'
top.frameID.document.body.scrollWidth = \'689\'

mvh JakobA
Avatar billede ullabritt Nybegynder
11. marts 2001 - 12:56 #3
Til visionmagic:
Ja, moveTo() fungerer, men problemet ligger mest i å få fatt på koordinatene.

Til jakoba:
Jeg har funnet ut detsamme. Jeg tror ikke dette lar seg gjöre i MSIIE, bortsett fra i v.4. Det ser ikke ut til at properties er definiert, til tross for at informasjonen nödvendigvis må finnes - ettersom moveTo() gjör jobben sin. Det denne moveTofunksjonen må gjöre er jo å beregne vektorn fra punkt A til punkt B, og deretter addere den vektorns koordinater til A\'s koordinater. Disse koordinatene er i contexten screen, så moveTo må hente A\'s absolute koordinater et sted. Og det var akkurat det jeg hadde hatt bruk for. Nåvel, man kan ikke få allt her i verden.
Det var et godt og gjennomarbeidet forsök, jakoba, så poengene skal du få likevel.
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