получить координаты мыши через расширение хром
Мне любопытно узнать, есть ли способ получить координаты мыши через расширение chrome, а затем использовать эти координаты, чтобы проверить, щелкнул ли человек в этой позиции ?
4 ответов
получение координат мыши очень просто, поместите это в скрипт контент:
document.onmousemove = function(e)
{
var x = e.pageX;
var y = e.pageY;
// do what you want with x and y
};
по существу, мы назначаем функцию onmousemove
событие всей страницы и получение координат мыши из объекта события (e
).
однако я не совсем уверен, что вы подразумеваете под этим:
затем используйте эти координаты, чтобы проверить, щелкнул ли человек в этой позиции ?
Do вы хотите проверить, нажимает ли пользователь что-то вроде кнопки? В этом случае вы можете просто подписаться на событие на эту кнопку (или любой другой элемент), например:
document.getElementById("some_element").onclick = function(e)
{
alert("User clicked button!");
};
для записи всех щелчков мыши и где они находятся:
document.onclick = function(e)
{
// e.target, e.srcElement and e.toElement contains the element clicked.
alert("User clicked a " + e.target.nodeName + " element.");
};
обратите внимание, что координаты мыши по-прежнему доступны в объекте события (e
).
Если вам нужны координаты, когда пользователь нажимает в произвольном месте, это делает трюк:
document.onclick = function(e)
{
var x = e.pageX;
var y = e.pageY;
alert("User clicked at position (" + x + "," + y + ")")
};
Я так устал искать ответ на этот раз в несколько недель, поэтому я создал небольшой скрипт. Для этого требуется jquery для выбора dom, добавления dom и редактирования стиля.. это можно легко изменить, но я уже слишком много работал на этой неделе.
(function() {
'use strict';
var $toolTip = $('<div/>');
$toolTip.addClass('customTooltip-rsd')
.css({
position: 'absolute',
display: 'inline-block',
'font-size': '22px',
backgroundColor: '#000',
color: '#ffffff',
'z-index': 9999999999,
padding: '10px',
'word-spacing': '10px',
'border-radius': '50%',
width: 100,
height: 100,
'line-height': '100px',
'text-align': 'center',
'font-weight': 'bold'
})
;
$(document.body).append($toolTip);
$(window).on('mousemove', function(e) {
var posX = e.pageX;
var posY = e.pageY;
$toolTip.text(posX + ',' + posY).css({
top: posY + 'px',
left: posX + 'px'
});
});
}());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
в моих проектах я помещаю этот простой скрипт jQuery в отдельный файл для проверки x
и y
координаты. Я могу просто отключить и включить его с помощью trackingMouse
переменной.
// this lets you click anywhere on the page and see the x and y coordinates
let trackingMouse = true;
$(document).ready(() => {
$(document).on('click', (e) => {
if (trackingMouse) {
let x = e.pageX;
let y = e.pageY;
console.log(`The x coordinate is: ${x}`);
console.log(`The y coordinate is: ${y}`);
}
});
});
Как только у вас есть координаты мыши, вы можете использовать атрибут "target" со значением "_blank", чтобы открыть url-адрес на новой вкладке.<a href="your url goes here" target="_blank">URL Display Name</a>
Если вы используете любую структуру javascript, вы можете предоставить событие click и в его контроллере вы можете использовать метод навигации по умолчанию для навигации.