Avatar billede ladefoged Nybegynder
22. juli 2002 - 10:55 Der er 8 kommentarer og
2 løsninger

Aflæs placeringen på et vindue

Hej

Jeg skal bruge en funktion der kan aflæse placeringen på et vindue, til Internet Explorer

Jeg har fundet den til NetScape, der heder den self.screenX og self.screenY

Jeg har ledt og ledt men har ikke fundet noget jeg kan bruge, jeg ved ikke om den funktion findes til IE, men det kan da ikke passe at Internet Explorer skal bøje sig for NetScape !!!!!!

Håber i kan hjælpe
Avatar billede nikolajdu Nybegynder
22. juli 2002 - 11:26 #1
I ie kan du finde placeringen af et vindue med :

y = window.screenTop;
x = window.screenLeft;
Avatar billede nikolajdu Nybegynder
22. juli 2002 - 11:28 #2
Altså noget alá :

<html>
<head>
    <title>Untitled</title>
<script>

function openDu(){
vindue = window.open('urlDu','vindue','width=550,height=600')
}
function findDu(){

if (document.all) {
y = vindue.window.screenTop;
x = vindue.window.screenLeft;
}
else if (document.layers) {
x = vindue.window.screenX;
y = vindue.window.screenY;
}
alert(x+' '+y)
}
</script>

</head>

<body>
<a href="#" onclick="openDu()">åben du</a>
<a href="#" onclick="findDu()">tjeck</a>

</body>
</html>

/Nikolaj
Avatar billede jakoba Nybegynder
22. juli 2002 - 11:37 #3
Jeg er ikke sikker på den findes.
En anden jeg har ledt efter længe er browservinduets ydre mål.

en mulighed er at
1) trigge en event.
2) aflæse musens position på skærmen:
      oldScreenX = event.screenX;
      oldScreenY = event.screenY;
  og i browservinduet:
      oldWinX = event.clientX;
      oldWinY = event.clientY;
3) flytte vinduet til øverste venstre hjørne med  window.moveTo(0,0)
4) trigge en event.
  NB: hvis der er framse i vinduet skal de to events være i samme ramme.
5) aflæse samme 4 værdier  ( newScreenX, newScreenY, newWinX, newWinY )
6) så ved vi at vinduet før stod i positionen:
      posWinX = oldScreenX-newScreenX +newWinX-oldWinX;
      posWinY = oldScreenY-newScreenY +newWinY-oldWinY;
husk at flytte vinduet tilbage med en  window.moveTo(posWinX,posWinY);

det er lidt klumpet, men burde virke.

mvh JakobA
Avatar billede jakoba Nybegynder
22. juli 2002 - 11:42 #4
Ups. der var nicolajdus jo noget nemmere :-))
  men til IE4 må du den tunge vej.
Avatar billede nikolajdu Nybegynder
22. juli 2002 - 11:45 #5
Jakoba - Min skulle faktisk funke i IE 4... kigger lige efter igen :)
Avatar billede nikolajdu Nybegynder
22. juli 2002 - 12:00 #6
Avatar billede nikolajdu Nybegynder
22. juli 2002 - 12:06 #7
Vi tager lige NS 6/7 med :

<html>
<head>
    <title>Untitled</title>
<script language="javascript">   
ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false
ie5 =(document.getElementById)? true:false
ns6 = (document.getElementById && !document.all)?true:false;

function openDu(){
vindue = window.open('urlDu','vindue','width=550,height=600')
}
function findDu(){

if (ie5) {
y = vindue.window.screenTop;
x = vindue.window.screenLeft;
}else if (ns4||ns6) {
x = vindue.window.screenX;
y = vindue.window.screenY;
}
if(y!=""||y!="undefined"){
alert(x+' '+y)
    }
}
</script>

</head>

<body>
<a href="#" onclick="openDu()">åben du</a>
<a href="#" onclick="findDu()">tjeck</a>

</body>
</html>

/Nikolaj
Avatar billede ladefoged Nybegynder
22. juli 2002 - 14:10 #8
Hej og tak for de gode forslag, men det er ikke helt det jeg har brug for, ved jeres forslag får man "kun" kordinaterne fra selve siden og ikke hele vinduet men kanter og det hele, som man gør i NetScape.
Avatar billede jakoba Nybegynder
22. juli 2002 - 14:46 #9
He He. med mit er det hel selve browservinduets hjørne du får ( hvis det ellers vrker :-))
Avatar billede ladefoged Nybegynder
22. juli 2002 - 15:10 #10
Ja men er der ikke nogen lettere måde, f.eks. noget med browservinduets ydre mål, som du også har nævent. Det må da kunne lade sig gøre i NS er det bare noget ala self.outerHeight og self.outerWidth, der må da være noget megen til i IE
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