MediaWiki:Gadget-searchlist.js
Материал из Provizorii
Замечание. Возможно, после сохранения вам придётся очистить кэш своего браузера, чтобы увидеть изменения.
- Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl-F5 или Ctrl-R (⌘-R на Mac)
- Google Chrome: Нажмите Ctrl-Shift-R (⌘-Shift-R на Mac)
- Internet Explorer: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl-F5
- Opera: Выберите очистку кэша в меню Инструменты → Настройки
//Утилита заменяет кнопку "Найти" на выпадающий список пространств, в которых вы часто ищете
// ВНИМАНИЕ! Не рекомендуется изменять эту утилиту, т.к. она входит в число настроек!
//var searchInNewWindow = true;
if (!window.searchInNewWindow) searchInNewWindow = false;
var searchNS = [
['','найти в…'],
[-5,'(в этом окне)'],
[-1,'По умолчанию'],
[0,'Статьи'],
[1,'Статьи (обс)'],
[2,'Участник'],
[3,'Участник (обс)'],
[4,'Provizorii'],
[5,'Provizorii (обс)'],
[6,'Изображение'],
[7,'Изобр. (обс)'],
[8,'Mediawiki'],
[9,'Mediawiki (обс)'],
[10,'Шаблон'],
[11,'Шаблон (обс)']
]
addOnloadHook(searchCreateMenu);
function searchCreateMenu() {
searchForm = document.getElementById('searchform') //global var
if (!searchForm) return;
//create hidden input
searchHidden = document.createElement('input'); //global var
searchHidden.type = 'hidden';
searchHidden.value = '1';
searchForm.fulltext.parentNode.appendChild(searchHidden);
//create select
searchSel = document.createElement('select'); //global var
for (var i in searchNS)
searchSel.options[searchSel.options.length] = new Option(searchNS[i][1], searchNS[i][0]);
searchSetTarget();
searchSel.style.margin = '0';
searchSel.style.marginTop = '2px';
searchSel.style.fontSize = '90%';
searchSel.onchange = searchOnSelect;
searchForm.fulltext.parentNode.insertBefore(searchSel, searchHidden);
//hide normal Search button if not IE
if (is_opera || is_gecko){
searchForm.fulltext.style.display = 'none';
searchSel.style.width = '65px';
}
}
function searchOnSelect() {
if (this.selectedIndex == 0) return;
var ns = this.options[this.selectedIndex].value;
if (ns == -5) { //new window switch
searchInNewWindow = !searchInNewWindow;
searchSetTarget();
} else { //do search
if (searchForm.search.value == '')
searchForm.search.value = '?';
else {
searchHidden.name = (ns == -1) ? '' : 'ns' + ns;
searchForm.fulltext.click();
}
}
this.selectedIndex = 0;
}
function searchSetTarget(){
if (searchInNewWindow) {
searchForm.target = '_blank';
searchSel.options[1].text = '(в НОВОМ окне)';
} else {
searchForm.target = '';
searchSel.options[1].text = '(в этом окне)';
}
}