Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
968 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Connaitre la position de la fenêtre ouverte en JS ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Connaitre la position de la fenêtre ouverte en JS ?

n°348040
Hermes le ​Messager
Breton Quiétiste
Posté le 31-03-2003 à 11:04:26  profilanswer
 

Question très bête. Je me souviens plus comment on fait...  :heink:

mood
Publicité
Posté le 31-03-2003 à 11:04:26  profilanswer
 

n°348060
walli
Posté le 31-03-2003 à 11:18:40  profilanswer
 


avec screenX screenY  :??:  
 

n°348067
Hermes le ​Messager
Breton Quiétiste
Posté le 31-03-2003 à 11:21:47  profilanswer
 

Nope.
 
document.screenX ne marche pas.
 
ni window.screenX non plus.
 
Je veux CONNAITRE la position de la fenêtre et non la DETERMINER.
 
 
Après réflexion et consultation des propriétés de screen, j'ai l'impression que ce n'est pas possible hélas...  :heink:

n°348074
gm_superst​ar
Appelez-moi Super
Posté le 31-03-2003 à 11:29:12  profilanswer
 

window.screen.left et window.screen.top ?


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°348143
walli
Posté le 31-03-2003 à 12:38:10  profilanswer
 

Plus exactement :  
window.top.screenLeft et window.top.screenTop
 
(testé seulement sous IE)

n°348225
Hermes le ​Messager
Breton Quiétiste
Posté le 31-03-2003 à 14:18:51  profilanswer
 

Merci Walli.
 
Ta solution ne fonctionne qu'avec IE hélas...
 
Pour GM : Non ta solution ne fonctionne pas.
 
Je cherche a CONNAITRE la position de la fenêtre, pas à la DETERMINER. Je n'ai aucun problème pour DETERMINER la position d'une fenêtre avant de l'ouvrir par exemple.
 
Moi je veux CONNAITRE la position de la fenêtre en cours APRES qu'elle soit ouverte.  ;)  
 
Je cherche donc toujours une solution qui fonctionne avec IE, Moz et Opera... :/

n°348263
Hermes le ​Messager
Breton Quiétiste
Posté le 31-03-2003 à 14:40:11  profilanswer
 

Pas de soluces, c'est ça hein ?  :(

n°348275
bobuse
Posté le 31-03-2003 à 14:45:00  profilanswer
 

Au fait, question con, c'est pourquoi que tu veux faire ca ? pour faire du cascading/mosaicking ?


---------------
get amaroK plugin
n°348278
walli
Posté le 31-03-2003 à 14:45:33  profilanswer
 

une solution pour les 3 en même temps je sais pas.
sous mozilla c'est pas ScreenX ?

n°348377
Hermes le ​Messager
Breton Quiétiste
Posté le 31-03-2003 à 16:02:32  profilanswer
 

bobuse a écrit :

Au fait, question con, c'est pourquoi que tu veux faire ca ? pour faire du cascading/mosaicking ?


 
Non, c'est tout con en fait. Je veux réaliser un popup genre copyright avec les outils que j'ai utilisé pour faire le site.  
 
Or pour centrer un popup, par RAPPORT A LA FENETRE EN COURS, il n'y a aucune possibilité. En effet, en utilisant les propriétés habituelles, on arrive à centre le popup en fonction de la taille de l'écran, ce que je ne veux pas.  
 
Pour REELLEMENT centrer un popup par rapport à la fenêtre en cours, il faut connaitre la largeur et la hauteur de la fenetre mais aussi LA POSITION de la fenêtre sur l'écran. Moi par exemple, je suis en 1600 en donc je ne surfe JAMAIS en plein écran. La fenêtre de mon navigateur peut se trouver n'importe où.
 
Oui, je sais, je suis connement perfectionniste  [:totozzz] Mais on ne se refait pas.  [:yaisse2]

mood
Publicité
Posté le 31-03-2003 à 16:02:32  profilanswer
 

n°348384
Hermes le ​Messager
Breton Quiétiste
Posté le 31-03-2003 à 16:05:38  profilanswer
 

walli a écrit :

une solution pour les 3 en même temps je sais pas.
sous mozilla c'est pas ScreenX ?
 


Yep, bravo, en effet Mozilla veut bien le ScreenX
 
Opera par contre, c'est pas trop ça  :D  Il donne toujours -4 comme valeur. Pas terrible. [:rofl]  
 
C'est vraiment la jungle quand même ces histoires de javascript.
 
Je crois que je vais laisser tomber. Je vais quand même pas faire une multidétection de nav pour un popup.  [:totozzz]

n°348409
gm_superst​ar
Appelez-moi Super
Posté le 31-03-2003 à 16:27:48  profilanswer
 

Mmmm dans ma doc de Mozilla, j'avais ceci pour screenX :
 

Citation :

window.screenX : Returns the horizontal location of the mouse in pixels from the left.


 
Je regarde sur la doc en ligne http://www.mozilla.org/docs/dom/do [...] ml#1011624 !
 

Citation :

window.screenX : Returns the horizontal distance of the left border of the user's browser from the left side of the screen.


 
On dirait qu'ils savent pas bien ce qu'ils veulent...
 
 
Enfin bref, quoiqu'il en soit, il n'y a pas de méthode unique pour tous les navigateurs, car ça ne fait partie d'aucune spécification. Il faut donc faire de la détection de navigateur... alors tout ça pour un pauvre pop-up, je suis pas sûr que ça en vaille la peine...


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°348414
Hermes le ​Messager
Breton Quiétiste
Posté le 31-03-2003 à 16:33:02  profilanswer
 

gm_superstar a écrit :

Mmmm dans ma doc de Mozilla, j'avais ceci pour screenX :
 

Citation :

window.screenX : Returns the horizontal location of the mouse in pixels from the left.


 
Je regarde sur la doc en ligne http://www.mozilla.org/docs/dom/do [...] ml#1011624 !
 

Citation :

window.screenX : Returns the horizontal distance of the left border of the user's browser from the left side of the screen.


 
On dirait qu'ils savent pas bien ce qu'ils veulent...
 
 
Enfin bref, quoiqu'il en soit, il n'y a pas de méthode unique pour tous les navigateurs, car ça ne fait partie d'aucune spécification. Il faut donc faire de la détection de navigateur... alors tout ça pour un pauvre pop-up, je suis pas sûr que ça en vaille la peine...


 
C'est clair. En même temps, je peux me faire mon propre script que je réutiliserai à chaque fois. Je crois que je vais le faire tiens... :D  
 
Tant qu'on y est, personne aurait sous la main un lien sur un topo pour la détection des navs ? Jusqu'à présent, je me contentais de détecter ou non la présence d'IE. (cf : mon dernier script pour mon forum).
 :)

n°348441
skylight
Made in France.
Posté le 31-03-2003 à 17:00:00  profilanswer
 

En PHP :

Code :
  1. function navigateur() {
  2. if (eregi('msie', $_SERVER["HTTP_USER_AGENT"]) && !eregi('opera', $_SERVER["HTTP_USER_AGENT"]))
  3. {
  4. // Internet Explorer
  5. $navigateur="Internet Explorer";
  6. }
  7. elseif (eregi('opera', $_SERVER["HTTP_USER_AGENT"]))
  8. {
  9. // Opera
  10. $navigateur="Opera";
  11. }
  12. elseif (eregi('mozilla/4.', $_SERVER["HTTP_USER_AGENT"]))
  13. {
  14. // Netscape 4.x
  15. $navigateur="Netscape 4.x";
  16. }
  17. elseif (eregi('mozilla/5.0', $_SERVER["HTTP_USER_AGENT"]) && !eregi('Konqueror', $_SERVER["HTTP_USER_AGENT"]))
  18. {
  19. // Netscape 6
  20. $navigateur="Netscape 6.x";
  21. }
  22. else
  23. {
  24. // Autres navigateurs
  25. $navigateur="Navigateur inconnu";
  26. }
  27. return $navigateur;
  28. }


 
vieille fonction que j'avais codé et que j'utilise encore aujourd'hui :D


Message édité par skylight le 31-03-2003 à 17:02:37
n°348455
Hermes le ​Messager
Breton Quiétiste
Posté le 31-03-2003 à 17:08:47  profilanswer
 

Skylight a écrit :

En PHP :

Code :
  1. function navigateur() {
  2. if (eregi('msie', $_SERVER["HTTP_USER_AGENT"]) && !eregi('opera', $_SERVER["HTTP_USER_AGENT"]))
  3. {
  4. // Internet Explorer
  5. $navigateur="Internet Explorer";
  6. }
  7. elseif (eregi('opera', $_SERVER["HTTP_USER_AGENT"]))
  8. {
  9. // Opera
  10. $navigateur="Opera";
  11. }
  12. elseif (eregi('mozilla/4.', $_SERVER["HTTP_USER_AGENT"]))
  13. {
  14. // Netscape 4.x
  15. $navigateur="Netscape 4.x";
  16. }
  17. elseif (eregi('mozilla/5.0', $_SERVER["HTTP_USER_AGENT"]) && !eregi('Konqueror', $_SERVER["HTTP_USER_AGENT"]))
  18. {
  19. // Netscape 6
  20. $navigateur="Netscape 6.x";
  21. }
  22. else
  23. {
  24. // Autres navigateurs
  25. $navigateur="Navigateur inconnu";
  26. }
  27. return $navigateur;
  28. }


 
vieille fonction que j'avais codé et que j'utilise encore aujourd'hui :D


 
Merci  :)  
 
Mais pour une fois, seules les détections JS m'intéressent.  :D

n°348456
bobuse
Posté le 31-03-2003 à 17:11:40  profilanswer
 

Hermes le Messager a écrit :


 
Non, c'est tout con en fait. Je veux réaliser un popup genre copyright avec les outils que j'ai utilisé pour faire le site.  
 
Or pour centrer un popup, par RAPPORT A LA FENETRE EN COURS, il n'y a aucune possibilité. En effet, en utilisant les propriétés habituelles, on arrive à centre le popup en fonction de la taille de l'écran, ce que je ne veux pas.  
 
Pour REELLEMENT centrer un popup par rapport à la fenêtre en cours, il faut connaitre la largeur et la hauteur de la fenetre mais aussi LA POSITION de la fenêtre sur l'écran. Moi par exemple, je suis en 1600 en donc je ne surfe JAMAIS en plein écran. La fenêtre de mon navigateur peut se trouver n'importe où.
 
Oui, je sais, je suis connement perfectionniste  [:totozzz] Mais on ne se refait pas.  [:yaisse2]  


Ha ok !
 
Et un bete layer ne serait-il pas approprié ? bon ok c'est lourd juste pour un message, mais bon, au moins ce sera centré, et pas par rapport à la fenetre (encadrement), mais par rapport au contenu.
 
Mais bon, ca fera ptet moins pro ... et puis c'est lourd kan meme !


---------------
get amaroK plugin
n°348458
skylight
Made in France.
Posté le 31-03-2003 à 17:12:34  profilanswer
 

Hermes le Messager a écrit :


 
Merci  :)  
 
Mais pour une fois, seules les détections JS m'intéressent.  :D  

Légèrement chiant à ses heures :D

n°348459
walli
Posté le 31-03-2003 à 17:12:55  profilanswer
 
n°348470
Hermes le ​Messager
Breton Quiétiste
Posté le 31-03-2003 à 17:20:07  profilanswer
 

Merci bien. Je me met au boulot et je vous montres mon script une fois terminé.  :)

n°348716
Hermes le ​Messager
Breton Quiétiste
Posté le 01-04-2003 à 01:48:01  profilanswer
 

Voilà mon script :
 
Marche avec IE 5+, Mozilla 1+, Netscape 6+ et Opera 6+
 

Code :
  1. <script type="text/javascript">
  2. var navigateur = navigator.appName.substring(0,3);
  3. var version = navigator.appVersion.substring(0,1);
  4. function popup(page,largeur,hauteur,options)
  5. {
  6. if (navigateur == "Mic" && version > 3)
  7. {
  8.   var left = window.top.screenLeft + (document.body.clientWidth / 2) - (largeur / 2);
  9.   var top = (window.top.screenTop + (document.body.clientHeight / 2) - (hauteur / 2)) - 14;
  10. }
  11. else if (navigateur == "Net" && version > 4)
  12. {
  13.   var left = window.screenX + (window.innerWidth / 2) - (largeur / 2);
  14.   var top = (window.screenY + (window.innerHeight / 2) - (hauteur / 2)) + 100;
  15. }
  16. else
  17. {
  18.   var left = (window.innerWidth / 2) - (largeur / 2);
  19.   var top = (window.innerHeight / 2) - (hauteur / 2);
  20. }
  21. window.open(page,"","top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options);
  22. }
  23. </script>


 
Bon pompage pour ceux qui veulent...  :D

n°348741
gm_superst​ar
Appelez-moi Super
Posté le 01-04-2003 à 08:16:16  profilanswer
 

Normalement, le mieux n'est pas de détecter le navigateur, mais les fonctionnalités :
 

Code :
  1. if (window.top.screenLeft) {
  2.    ...
  3. } else if (window.screenX) {
  4.    ...
  5. } else {
  6.    ...
  7. }


 
Comme ça, les navigateurs qui s'identifient comme un autre passent le test correctement et exécutent le bon morceau de code.


Message édité par gm_superstar le 01-04-2003 à 08:16:32

---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°348754
Hermes le ​Messager
Breton Quiétiste
Posté le 01-04-2003 à 09:00:25  profilanswer
 

gm_superstar a écrit :

Normalement, le mieux n'est pas de détecter le navigateur, mais les fonctionnalités :
 

Code :
  1. if (window.top.screenLeft) {
  2.    ...
  3. } else if (window.screenX) {
  4.    ...
  5. } else {
  6.    ...
  7. }


 
Comme ça, les navigateurs qui s'identifient comme un autre passent le test correctement et exécutent le bon morceau de code.


 
J'avais pas pensé à ça.  :)  Tu as raison, je vais modifier ça de ce pas.
 :hello:

n°348766
Hermes le ​Messager
Breton Quiétiste
Posté le 01-04-2003 à 09:12:37  profilanswer
 

En fait, c'est un tout petit peu plus compliqué. En effet : screenX est supporté par Opera6 mais mal : Celui-ci renvoie toujours -4.  [:totozzz]  
 
C'est pourquoi il faut faire un mix entre ta proposition et la mienne.
 :D

n°348767
Hermes le ​Messager
Breton Quiétiste
Posté le 01-04-2003 à 09:19:39  profilanswer
 

Bon, voilà... Merci à GM.  :)  
 

Code :
  1. <script type="text/javascript">
  2. var navigateur = navigator.appName.substring(0,3);
  3. function popup(page,largeur,hauteur,options)
  4. {
  5. if (window.top.screenLeft && document.body.clientWidth)
  6. {
  7.   var left = window.top.screenLeft + (document.body.clientWidth / 2) - (largeur / 2);
  8.   var top = (window.top.screenTop + (document.body.clientHeight / 2) - (hauteur / 2)) - 14;
  9. }
  10. else if (navigateur == "Ope" )
  11. {
  12.   var left = (window.innerWidth / 2) - (largeur / 2);
  13.   var top = (window.innerHeight / 2) - (hauteur / 2);
  14. }
  15. else if (window.screenX && window.innerWidth)
  16. {
  17.   var left = window.screenX + (window.innerWidth / 2) - (largeur / 2);
  18.   var top = (window.screenY + (window.innerHeight / 2) - (hauteur / 2)) + 100;
  19. }
  20. else
  21. {
  22.   var left = 10;
  23.   var top = 10;
  24. }
  25. window.open(page,"","top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options);
  26. }
  27. </script>


Message édité par Hermes le Messager le 01-04-2003 à 09:39:37
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Connaitre la position de la fenêtre ouverte en JS ?

 

Sujets relatifs
[VISUAL C++]Changer la fenetre principale d'une SDI[C]Afficher un pixel d'une certaine couleur dans une fenêtre DOS ?
VK_ESCAPE sur fenetre principaleFenetre IE sans la barre d'URL
réafficher des pixels dans un control d'une fenêtre[Java] Placer une fenêtre sur l'écran (débutant)
[HTML]Nommer une fenetre pour uen redirection d'affichageCréation de fenêtre MFC...
[PHP] connaitre l'origine du client ?[JS] Savoir si le chargement d'une fenêtre est terminé ?
Plus de sujets relatifs à : Connaitre la position de la fenêtre ouverte en JS ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR