2010-06-11 53 views
2

我正在跟蹤使用javascript的用戶的鼠標移動並將其與瀏覽器分辨率一起存儲。 然後我可以在我的瀏覽器中檢查1024 x 768分辨率的用戶鼠標移動。 但是,如果用戶使用的是800 x 600的瀏覽器,那麼鼠標移動記錄爲800 x 600.而當我在1024 x 768中看到鼠標移動時,鼠標移動是錯誤的。 那麼我怎樣才能從800 x 600擴展到1024 x 768?在800 x 600上跟蹤鼠標移動並在1024 x 768上顯示

回答

7

你基本上乘以寬/高比用戶的X/Y座標:

x *= 1024/800; 
y *= 768/600; 

我建議你也採用了比後兩者的座標應用Math.round()。

編輯:這當然假設更大分辨率的所有東西都會以相同比例調整大小,否則會出現問題。例如,如果您嘗試在網頁上覆蓋鼠標移動,並且該網頁具有200px固定寬度的側欄,無論用戶的分辨率是多少,那麼當然,當您將x/y座標與比率,您可能會發現指針甚至不在用戶的側邊欄之上。

EDIT2:在網頁的情況下,最安全的方法是將記錄用戶的視口寬度/高度,然後嵌入在容器中與精確大小相同的網頁(如的iframe),以便重播動作。這樣你可以避免一些問題。

0

您如何調整瀏覽器以匹配用戶的尺寸?