>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Скрипты http://forum.mozilla-russia.org/viewforum.php?id=37 >[GM] ekb wikipedia stuff http://forum.mozilla-russia.org/viewtopic.php?id=25496 |
demetsuri > 06-08-2008 21:58:04 |
ekb wikipedia stuff Описание: На Википедии – этот скрипт делает страницы более читабельными и копируемыми удаляя лишние элементы такие как: [1], [2], [3] or [citation needed], [specify], [debate], [discuss], [edit] и большой баннер из верхней части страницы, который иногда там появляется. Иллюстрация работы скрипта: Фрагмент статьи в обычном виде Прекрасно работает в связке с расширением 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 |