2010-03-17 21 views
5

Wie bekomme ich Internet Explorer-Werte, die äquivalent sind zu: window.screenX und window.screenY in Firefox? Ich habe einige "Lösung" gesehen: window.screenLeft und window.screenTop aber es ist nicht korrekt. Diese Eigenschaften geben innere Koordinaten an.Internet Explorer-Fensterposition erwerben

Ich bewege ein Fenster und ich brauche Werte mit window.moveTo() zu verwenden, um den ursprünglichen Speicherort wiederherzustellen.

Antwort

0

Entsprechende Eigenschaften scheinen für Internet Explorer-Fenster nicht zu existieren. Hast du die window.resizeBy(w, h) Methode gesehen? Mit, dass Sie um einen bestimmten Betrag wachsen könnte und dann schrumpfen wieder nach unten negative Werte (oder umgekehrt) mit:

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

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

Leider zu arbeiten, ich messed die Frage und editiert es. Sieht aus, als hättest du inzwischen auf das Original geantwortet. – Ilya

0

Es Jahre sind, da ich jede MSIE Programmierung tat, aber ich grob erinnern sich an etwas mit wie dieses

  • speichern screenLeft und Top als Fenster Postion (dies falsch ist, aber lesen Sie weiter)
  • , wenn die Position der Wiederherstellung window.moveTo (gespeicherte Position)
  • (aktuelle screenLeft> gespeichert links) window.moveBy (-1 , 0)
  • das gleiche für y-Position

die Idee ist, dass wir das Fenster in einer falschen Position zuerst platzieren und dann korrigieren

+0

Danke! Ich werde ein bisschen später eine Lösung versuchen, die auf dieser Idee basiert. Ich denke darüber nach, das Fenster in die falsche Position zu bringen, das Diff zu berechnen und noch einmal zu bewegen. – Ilya

+0

Mein Code basierend auf Ihren Ideen scheint für jetzt zu funktionieren. Danke noch einmal! – Ilya

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

scheint Schritt für Schritt

+0

Dann gehen Sie und verschieben Sie das Fenster, wie Sie wollen. Wenn Sie die ursprüngliche Position wiederherstellen möchten, verwenden Sie window.moveTo (savePos [0], savePos [1]). – Ilya