2009-04-17 60 views
1

對於firefox,無論如何確定「視口」(即客戶區)的TopLeft位置?我知道高度/寬度可以通過window.innerHeight和window.innerWidth獲得。但我也需要知道「innerTop」和「innerLeft」(不存在)。Firefox:獲取視口的實際屏幕位置

感謝,

羅布

+0

你的意思是你想知道用戶的鍍鉻多大? – 2009-04-17 22:10:27

+0

當然...如果我知道鉻區域(或文檔區域的位置),我會很高興。 – user53794 2009-04-17 22:12:13

回答

2

如果你能得到一個鼠標事件,你可以看看它的event.screenX/screenY屬性和減去event.clientX/clientY屬性。這甚至是跨瀏覽器兼容的(DOM Level 2事件)。

2
  • window.innerHeight - 文檔區域的高度。
  • window.outerHeight - 整個窗口的高度。

您可以從另一箇中減去另一個,從窗口頂部加上文檔區域的距離,再加上狀態欄的高度。

+0

這是迄今爲止最接近的答案!不幸的是,外部高度包括所有的鉻(頂部和底部)。任何想法如何獲得底部的狀態欄區域的大小? – user53794 2009-04-21 18:32:11

0

試試這個:

document.documentElement.getBoundingClientRect() 

這個函數的結果將有一個左和頂部屬性,它會給你你所需要的。

注意:該函數在Fx3中實現,因此您需要爲舊版本進行DOM遍歷offsetParent迭代。

-1

這似乎給從文檔的頂部偏移到視太:

window.pageYOffset