ekb wikipedia stuff

Описание: На Википедии – этот скрипт делает страницы более читабельными и копируемыми удаляя лишние элементы такие как: [1], [2], [3] or [citation needed], [specify], [debate], [discuss], [edit] и большой баннер из верхней части страницы, который иногда там появляется.
И конечно для того чтобы вернуть обычный вид энциклопедии - вы можете отключить скрипт и перезагрузить страницу.

Иллюстрация работы скрипта:

Фрагмент статьи в обычном виде
th_44909_before_122_1056lo.jpg
Фрагмент после включения скрипта (удалено [5] и несколько [править] )
th_44934_after_122_832lo.jpg

Прекрасно работает в связке с расширением Scrapbook и GM-скриптом Wide Wikipedia.

Код скрипта:

Выделить код

Код:

// ==UserScript==
// @name           ekb wikipedia stuff
// @namespace      ekbworldwide
// @version         0.02
// @include        http://wikipedia.org/*
// @include        http://*.wikipedia.org/*
// ==/UserScript==


// added for Version 0.02
// removes [specify]

var unlikedSpec = getElementsByClass("noprint Inline-Template",null,null);

for (i = 0; i < unlikedSpec.length; i++) {
   unlikedSpec[i].parentNode.removeChild(unlikedSpec[i]);
}


// from the text body removes reference numbers 
// that appear all over the place

var unlikedNum = getElementsByClass("reference",null,null);

for (i = 0; i < unlikedNum.length; i++) {
   unlikedNum[i].parentNode.removeChild(unlikedNum[i]);
}


// removes [citation needed]

var unlikedCit = getElementsByClass("noprint Template-Fact",null,null);

for (i = 0; i < unlikedCit.length; i++) {
   unlikedCit[i].parentNode.removeChild(unlikedCit[i]);
}


// from the right side removes [edit] links that are 
// on most pages

var unlikedEdit = getElementsByClass("editsection",null,null);

for (i = 0; i < unlikedEdit.length; i++) {
   unlikedEdit[i].parentNode.removeChild(unlikedEdit[i]);
}


// removes the BIG message boxes that sometimes apear on 
// the top part of pages

var unlikedM = getElementsByClass("messagebox",null,null);

for (i = 0; i < unlikedM.length; i++) {
   unlikedM[i].parentNode.removeChild(unlikedM[i]);
}


// getElementByClass by Dustin Diaz
// http://www.dustindiaz.com/getelementbyclass/

function getElementsByClass(searchClass,node,tag) {
    var classElements = new Array();
    if ( node == null )
        node = document;
    if ( tag == null )
        tag = '*';
    var els = node.getElementsByTagName(tag);
    var elsLen = els.length;
    var pattern = new RegExp("(^|\\\\s)"+searchClass+"(\\\\s|$)");
    for (i = 0, j = 0; i < elsLen; i++) {
        if ( pattern.test(els[i].className) ) {
            classElements[j] = els[i];
            j++;
        }
    }
    return classElements;
}

Автор: ekbworldwide
Домашняя страница: http://userscripts.org/scripts/show/22213
Дата добавления/последнего обновления: 3-02-2008

Установить