我有一些簡單的JavaScript,決定在那裏點擊這裏發生在瀏覽器中:確定鼠標點擊所有的屏幕分辨率
var clickDoc = (document.documentElement != undefined && document.documentElement.clientHeight != 0) ? document.documentElement : document.body;
var x = evt.clientX;
var y = evt.clientY;
var w = clickDoc.clientWidth != undefined ? clickDoc.clientWidth : window.innerWidth;
var h = clickDoc.clientHeight != undefined ? clickDoc.clientHeight : window.innerHeight;
var scrollx = window.pageXOffset == undefined ? clickDoc.scrollLeft : window.pageXOffset;
var scrolly = window.pageYOffset == undefined ? clickDoc.scrollTop : window.pageYOffset;
params = '&x=' + (x + scrollx) + '&y=' + (y + scrolly) + '&w=' + w + '&random=' + Date();
所有這些數據都被存儲在一個數據庫。稍後我會檢索它並顯示該頁面上發生的所有點擊。如果我在一個分辨率中完成所有的點擊操作,並且以相同的分辨率顯示回來,這可以正常工作,但情況並非如此。可能會使用大量的分辨率。
在我的測試案例中,我點擊屏幕分辨率爲1260x1080的屏幕。我檢索了所有數據並以相同的分辨率顯示。但是,當我使用不同的顯示器(嘗試1024x768和1920x1080。標記轉移到不正確的點
我的問題是,如果我存儲客戶端的寬度和高度,和點擊x/y位置如果3個不同屏幕分辨率的用戶點擊同一個單詞,第4個用戶會查看所有這些點擊發生的位置,我如何正確繪製x/y位置以顯示每個人都在同一空間點擊,無論分辨率是多少?
如果這屬於一個更好的部分,請讓我知道爲好。
:::編輯:::應用Brock的建議後,我附上兩張截圖,我點擊了在每個段落的開頭部分以不同的分辨率表示「If」字樣。當以這兩種分辨率觀看時,以相同分辨率發生的點擊直接在該詞上,當分辨率更高或更低時,它們分別向右或向左移動。
http://img291.imageshack.us/img291/5682/1260x1080.png http://img27.imageshack.us/img27/8950/1920x1080c.png
我不知道你的要求,但如果這對你是可能的,考慮記錄DOM元素的路徑被點擊而不是鼠標的位置。 – 2010-06-12 21:22:35
從這些截圖中,它看起來像邊距是不同的。張貼整個屏幕截圖或 - 更好地 - 鏈接到頁面。我會在下面更新我的答案。 – 2010-06-12 23:12:37