Користувач:Js~ukwiki/searchlist.js

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Увага: Після публікування слід очистити кеш браузера, щоб побачити зміни.

  • Firefox / Safari: тримайте Shift, коли натискаєте Оновити, або натисніть Ctrl-F5 чи Ctrl-Shift-R (⌘-R на Apple Mac)
  • Google Chrome: натисніть Ctrl-Shift-R (⌘-Shift-R на Apple Mac)
  • Internet Explorer / Edge: тримайте Ctrl, коли натискаєте Оновити, або натисніть Ctrl-F5
  • Opera: натисніть Ctrl-F5
if (!window.searchInNewWindow) searchInNewWindow = false;
 
var searchNS = [
[,'найти в…'],
[-5,'(у цьому вікні)'],
[-1,'За замовчуванням'],
[0,'Статті'],
[1,'Статті (обг)'],
[2,'Користувач'],
[3,'Користувач (обг)'],
[4,'Вікіпедія'],
[5,'Вікіпедія (обг)'],
[6,'Зображення'],
[7,'Зобр. (обг)'],
[8,'Mediawiki'],
[9,'Mediawiki (обг)'],
[10,'Шаблон'],
[11,'Шаблон (обг)']
]
 
 
$(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 =  '(у цьому вікні)';
 }
}