2010-12-04 12 views

Répondre

5

Sur de l'utilisateur écran? Tu ne peux pas faire ça. Je suis sûr que vous pourriez coder quelque chose comme ça avec une applet Java ou similaire, mais pas avec JavaScript.

Le plus proche que vous pouvez obtenir est en obtenant la position de la fenêtre du navigateur en utilisant les window.screenX et window.screenY propriétés sur IE, et window.screenLeft, propriétés etc sur d'autres navigateurs, puis obtenir le décalage relatif de l'élément en utilisant la méthode described here (de la réponse de Breezer), et en ajoutant les coordonnées ensemble. Malheureusement, cela ne tient pas compte des barres d'outils ou des barres latérales dans le navigateur, donc c'est vraiment estimation approximative. Ne faites pas cela si vous avez besoin d'être précis à 100%.

+0

En fait, vous pouvez. Voir la réponse de Breezer. –

+1

@El Yobo: Il a dit l'écran de l'utilisateur, "PAS la fenêtre du navigateur". À moins que je ne comprenne mal la question, vous ne pouvez pas comprendre la position de la fenêtre du navigateur sur l'écran avec JavaScript, donc vous ne pouvez pas faire cela. –

+0

@ElYobo - cette réponse est incorrecte, relisez la question - celui-ci est correct. –

3

si vous utilisez jquery vous pouvez utiliser http://api.jquery.com/position/ autre sage, vous devez utiliser décalage lire davantage ici http://www.quirksmode.org/js/findpos.html

+0

Ceci le trouve dans la ** fenêtre du navigateur **, pas dans ** l'écran ** ... explicitement ce que la question a demandé * pas * de trouver. –

+0

Si vous connaissez la position dans la fenêtre, vous pouvez obtenir le décalage de la fenêtre de window.screen, sûrement? –

+0

@Paul - Non, même si vous ne connaissez pas la taille de la barre d'outils, etc., vous ne pouvez pas commencer par la position. –

0

Il semble que cela soit possible après tout; voir cet article w3schools (IE) et cet autre w3schools (Chrome et FF). Cependant, je ne l'ai pas testé moi-même.

Sur les navigateurs sauf Chrome et FF, utilisez window.screenLeft et window.screenTop. Sur Chrome et FF, utilisez window.screenX et window.screenY (j'ai testé cela dans Chrome, ça marche là-bas).

+1

Votre lien indique clairement que ceci * ne fonctionne pas dans Chrome ou Firefox. Pour la seconde, ce n'est pas correct, encore une fois cela donne la ** fenêtre ** (toute la fenêtre, pas la zone de la page) coin supérieur gauche - vous ne savez toujours pas à quelle distance entre cela et la zone de la page. –

+0

@Nick - J'ai deux liens. Le premier indique également quelles valeurs utiliser pour FF et Chrome. –

+0

@ElYobo - S'il vous plaît voir mes commentaires sur l'autre réponse, ce n'est pas correct. Pas mon downvote ... mais cela a déjà été discuté dans les commentaires sur la question déjà :) –

Questions connexes