Интересная проблема: абсолютные координаты мыши независимо от размера окна - PullRequest
0 голосов
/ 01 апреля 2011

Это может быть математический вопрос больше, чем вопрос программирования, но мы увидим.

Я пытаюсь создать простой трекер кликов в javascript, который можно добавить на любой веб-сайт, который будет отображать данные на тепловой карте.

Проблема

Если я фиксирую координаты x / y события щелчка на веб-странице, отображаемой в окне размером 1024x768, и пытаюсь сопоставить это с тепловой картой, отображаемой в 1280x1024 (или любом другом размере), есть хороший вероятность того, что щелчок не будет отображаться в правильном месте.

Если, например, содержимое веб-страницы центрировано в пределах деления шириной 960 пикселей, потому что координаты x, y зафиксировали меру от начала координат в верхнем левом углу окна, координаты не совпадают в физическое пространство.

Я мог бы использовать разницу между двумя размерами экрана, чтобы создать исходную точку в центре всех экранов и измерить оттуда, но затем я столкнулся с той же проблемой для любого контента, который не расположен относительно центра страница.

Есть ли способ разработать набор абсолютных координат элемента на странице, не зная размера окна браузера или содержимого страницы?

Я знаю, что могу привязать щелчок к элементу DOM. Это нормально, и я, вероятно, пойду по этому пути, но теперь, когда я нашел эту проблему, мне интересно узнать о возможном решении.

1 Ответ

1 голос
/ 01 апреля 2011

jQuery x y координаты документа объекта DOM описывает аналогичную проблему и имеет возможное решение. Надеюсь, это правильно работает с браузером.

Если это не сработает, эту проблему, вероятно, будет сложно решить. См. http://weblogs.asp.net/bleroy/archive/2008/01/29/getting-absolute-coordinates-from-a-dom-element.aspx о том, как трудно Microsoft реализовала эту функцию несколько лет назад.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...