2010-03-17 136 views
5

如何獲取與Firefox中的window.screenX和window.screenY等效的Internet Explorer值? 我見過一些「解決方案」:window.screenLeft和window.screenTop,但它是而不是是正確的。這些屬性給出內部座標。獲取Internet Explorer窗口位置

我移動一個窗口,我需要使用window.moveTo()來恢復原始位置的值。

回答

0

對於Internet Explorer窗口,似乎不存在等效屬性。你見過window.resizeBy(w, h)方法嗎?使用您可以通過一個特定的量成長,然後縮了回去下來使用負值(反之亦然):

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

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

對不起,我搞砸問題並編輯它。看起來你在回答原文的同時。 – Ilya 2010-03-17 16:08:27

0

有幾年因爲我沒有任何MSIE編程,但我大致記得用這樣的

  • 保存screenLeft和Top作爲窗口現在的位置(這是錯誤的,但閱讀)
  • 恢復位置時,window.moveTo(保存位置)
  • (當前screenLeft>保存左)window.moveBy(-1 ,0)
  • 爲y位置

的想法相同的是,我們首先把窗口在一個錯誤的位置,然後糾正它一步一步

+0

謝謝!基於這個想法,我會稍後嘗試一些解決方案。我正在考慮將窗戶移動到錯誤的位置,計算差異並再次移動。 – Ilya 2010-03-17 16:53:53

+0

我的代碼基於您的想法似乎現在工作。再次感謝! – Ilya 2010-03-17 17:08:30

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

似乎工作

+0

然後,您可以隨意移動窗口。當你想恢復原來的位置時,使用window.moveTo(savePos [0],savePos [1])。 – Ilya 2010-03-17 17:15:33

相關問題