2010-03-17 133 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

相关问题