Извлечение текущего сфокусированного / выделенного мышью URL гиперссылки - PullRequest
0 голосов
/ 12 февраля 2011

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

Когда мы нажимаем клавишу TAB или наводим указатель мыши на гиперссылку, в строке состояния (справа от адресной строки для Firefox 4+) отображается URL этой ссылки.

Как вы захватываете этот URL с помощью Javascript в онлайн-дополнении Add-on? как мне сохранить его в переменной, и при каждом изменении целевой ссылки значение переменной будет соответственно обновляться? Я искал в Интернете в течение нескольких часов и до сих пор нашел эту функцию под названием Document.activeElement.href ?? Но я не уверен, что это то, что мне нужно, и если это так, как мне его использовать?

Пожалуйста, помогите!

Спасибо !!!

Ответы [ 4 ]

1 голос
/ 12 февраля 2011

Переменная window.XULBrowserWindow.overLink может содержать текущий URL-адрес, указанный в строке состояния, но не сохраняет фактический элемент, на который наведен курсор.

1 голос
/ 12 февраля 2011

Это должно сработать:

<html><body>
    <a href="#link1">link 1</a>
    <a href="#link2">link 2</a>

    <div id="output"></div>

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>
    <script>
        var handler = function() {
            jQuery('#output').text( jQuery(this).attr('href') );
        };
        jQuery('a').focus(handler).mouseover(handler);
    </script>
</body></html>

Дайте мне знать, если вы не хотите использовать jQuery, и я перепишу свой ответ.

0 голосов
/ 12 февраля 2011

http://jsfiddle.net/DmX5j/6/

var links = document.getElementsByTagName('a'),
   linkDisplay = document.getElementById('currentLink'),
   currentLink;

for(var i =0; i < links.length; i++){
    links[i].onfocus = function(){updateLink(this.href)};
    links[i].onmouseover = function(){updateLink(this.href)};
}

function updateLink(link){
    currentLink = link; 
    linkDisplay.innerHTML = currentLink;
}

чистый способ JS. Не уверен, что это то, что вы ищете или нет, в основном при фокусировке или наведении курсора на текущую ссылку обновляется.

0 голосов
/ 12 февраля 2011

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

...