2010-03-17 4 views
5

Comment obtenir des valeurs Internet Explorer équivalentes à: window.screenX et window.screenY dans Firefox? J'ai vu une certaine "solution": window.screenLeft et window.screenTop mais c'est pas correct. Ces propriétés donnent des coordonnées internes.Acquisition de la position de la fenêtre Internet Explorer

Je déplace une fenêtre et j'ai besoin de valeurs à utiliser avec window.moveTo() pour restaurer l'emplacement d'origine.

Répondre

0

Les propriétés équivalentes ne semblent pas exister pour les fenêtres Internet Explorer. Avez-vous vu la méthode window.resizeBy(w, h)? L'utilisation que vous pourriez augmenter d'une quantité spécifique, puis reculer vers le bas à l'aide des valeurs négatives (ou vice versa):

window.resizeBy(300, 300); // expand window by 300x300 pixels 

window.setTimeout(function() 
{ 
    window.resizeBy(-300, -300); // back to original size 
}, 10000); 
+0

Désolé, je foiré la question et l'édité. On dirait que vous répondiez à l'original pendant ce temps. – Ilya

0

Il y a des années que je l'ai fait une programmation MSIE, mais je me souviens à peu près en utilisant quelque chose comme ça

  • sauver screenLeft et Top comme fenêtre postion (ce qui est faux, mais lisez la suite)
  • lors de la restauration de la position, window.moveTo (position enregistrée)
  • (screenLeft courant> sauvé gauche) window.moveBy (-1 , 0)
  • même pour la position y

l'idée est que nous plaçons la fenêtre dans une mauvaise position d'abord, puis corriger étape par étape

+0

Merci! Je vais essayer un peu plus tard une solution basée sur cette idée. Je pense à déplacer la fenêtre à la mauvaise position, à calculer le diff et à bouger encore une fois. – Ilya

+0

Mon code basé sur vos idées semble fonctionner pour l'instant. Merci encore! – Ilya

2
 
var saveLeft = window.screenLeft; 
var saveTop = window.screenTop; 
window.moveTo(saveLeft, saveTop); 
var savePos = [ 
    saveLeft + (saveLeft - window.screenLeft), 
    saveTop + (saveTop - window.screenTop) 
]; 

Semble travailler

+0

Ensuite, vous allez déplacer la fenêtre comme vous le souhaitez. Lorsque vous voulez restaurer la position d'origine, utilisez window.moveTo (savePos [0], savePos [1]). – Ilya

Questions connexes