четверг, октября 07, 2010

Show href - пользовательский скрипт для Google Chrome

По своей инициативе написал для @Puzat пользовательский скрипт (user.js), который показывает что спрятано в атрибуте "href" у тега "A". Для меня это была разминка, да и вспомнить нативный javascript без библиотек и фрейморков нужно было ;)


// ==UserScript==
// @name Show href
// @description Show href показывает, что на самом деле в атрибуте "href" у тега "A"
// @version 0.1.0
// @author Askar (Jungle) Yusupov
// @namespace http://seodiver.ru/
// @match http://*/*
// @match https://*/*
// @run-at document-start
// ==/UserScript==

(function (){
var id = 'show_href';

function findPos(el){
var leftPos = topPos = 0;
do {
leftPos += el.offsetLeft;
topPos += el.offsetTop;
} while (el = el.offsetParent);
return [leftPos, topPos];
}

function show(event){
var a = event.currentTarget;
var tooltip = document.getElementById(id);

if (!tooltip){
tooltip = document.createElement('div');
tooltip.setAttribute('id', id)
document.body.appendChild(tooltip);
}

var pos = findPos(a);
var style = 'background-color: white; font-size: small; position: absolute; border: 1px solid black; padding: 2px; z-index: 999999; ';
style += 'left: ' + pos[0] + 'px; ';
style += 'top: ' + (pos[1] + a.offsetHeight + 3) + 'px; ';

tooltip.setAttribute('style', style);
tooltip.innerText = a.getAttribute('href');
}

function hide(event){
document.getElementById(id).setAttribute('style', 'display: none');
}

var links = document.body.querySelectorAll('a[href]');
for (var i = 0; i < links.length; i++){
var a = links[i];
a.addEventListener('mouseover', show, false);
a.addEventListener('mouseout', hide, false);
}
})()

скачать Show href

update:
Ещё одна версия, только отличается тем, что ссылка добавляется в атрибут title и отображается средствами браузера. Выбирайте ту версию какая вам наиболее удобна.


// ==UserScript==
// @name Show href (in title)
// @description Show href показывает, что на самом деле в атрибуте "href" у тега "A"
// @version 0.1.0
// @author Askar (Jungle) Yusupov
// @namespace http://seodiver.ru/
// @match http://*/*
// @match https://*/*
// @run-at document-start
// ==/UserScript==

(function (){
    var links = document.body.querySelectorAll('a[href]');
    var a, href, title;
    for (var i = 0; i < links.length; i++){
        a = links[i];
        href = a.getAttribute('href');
        if (href) {
            title = a.getAttribute('title') || '';
            a.setAttribute('title', href + (title.length ? '\n' + title : ''));
        }
    }
})()

скачать Show href (in title)

Комментариев нет: