Проверить элемент для расширения Chrome?

Мне нужна способность более или менее выполнять элемент проверки или больше, чтобы точка могла выделять и сохранять отдельные элементы DOM при наведении курсора мыши. Это синоним вкладки "Элементы" инструментов разработчика Google Chrome или вкладки "HTML" в FireBug.

Мне не нужно показывать DOM или панель, подобную этим инструментам. Мне просто нужно знать, что такое объект XPATH или DOM, и затем иметь возможность выделить это (как эти инструменты) на самой веб-странице. Эти инструменты в настоящее время отображают затенение над элементами при их выборе.

Я хочу сделать это в Chrome. Есть ли способ добавить слушателя? Я играл с chrome.contextMenus.create, но это не дает вам доступа к странице или не говорит вам, где вы находитесь. Выбранный текст в нем бесполезен, чтобы вернуться позже к тому же элементу DOM.

Кто-нибудь знает API, который позволяет вам узнать, где находится мышь?

Примечание. У меня нет доступа к странице. то есть причина этого в качестве расширения заключается в том, что я проверяю стороннюю страницу, а не тот, который у меня есть.

Ответ 1

Это довольно большая работа. С помощью jQuery вы можете стилизовать элемент, в котором мышь зависает так:

$("*").not("body, html").hover(function(e) {
   $(this).css("border", "1px solid #000"); 
   e.stopPropagation();
}, function(e) {
   $(this).css("border", "0px"); 
   e.stopPropagation();
});

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

Ответ 2

Вот вам очень простая реализация:

Введенный css (через манифест):

.el-selection {outline: 1px solid blue;}

Инъекционный контент script:

$(window).mouseenter(function(event) {
    $(event.target).addClass("el-selection");
});

$(window).mouseleave(function(event) {
    $(event.target).removeClass("el-selection");
});

$(window).click(function(event) {
    console.log("selected: ", event.target);
    return false;
});

Ответ 3

Вы всегда можете использовать FireBug Lite для чего-то подобного. Это версия JavaScript, и, следовательно, не имеет значения, с какого браузера вы ее используете. Просто включите этот script в HTML <head>:

<script type="text/javascript" src="https://getfirebug.com/firebug-lite.js"></script>

Надеюсь, что это поможет.