Szerkesztő:Guillaumito/monobook.js
Megjelenés
Megjegyzés: közzététel után frissítened kell a böngésződ gyorsítótárát, hogy lásd a változásokat.
- Firefox / Safari: tartsd lenyomva a Shift gombot és kattints a Frissítés gombra a címsorban, vagy használd a Ctrl–F5 vagy Ctrl–R (Macen ⌘–R) billentyűkombinációt
- Google Chrome: használd a Ctrl–Shift–R (Macen ⌘–Shift–R) billentyűkombinációt
- Internet Explorer / Edge: tartsd nyomva a Ctrl-t, és kattints a Frissítés gombra, vagy nyomj Ctrl–F5-öt
- Opera: Nyomj Ctrl–F5-öt
/** Change Special:Search to use a radio menu *******************************************************
*
* Description: Change Special:Search to use a radio menu, with the default being
* the internal MediaWiki engine
* Created and maintained by: [[:fr:User:Pmartin]]
*/
if ((wgNamespaceNumber == -1) && (wgCanonicalSpecialPageName == "Search")) {
var searchEngines = {
mediawiki: {
ShortName: "Wikipedia",
Template: "/w/index.php?search={searchTerms}"
},
google: {
ShortName: "Google",
Template: "http://www.google.fr/search?hl=" + wgUserLanguage + "&q={searchTerms}&as_sitesearch=" + wgServer.substr(7, wgServer.length - 1 )
},
yahoo: {
ShortName: "Yahoo",
Template: "http://" + wgUserLanguage + ".search.yahoo.com/search?p={searchTerms}&vs=" + wgServer
},
live: {
ShortName: "Windows live",
Template: "http://search.live.com/results.aspx?q={searchTerms}&q1=site:" + wgServer
},
wikiwix: {
ShortName: "Wikiwix",
Template: "http://www.wikiwix.com/index.php?action={searchTerms}&lang="+wgContentLanguage
}
};
addOnloadHook(externalSearchEngines);
}
function externalSearchEngines() {
if (typeof SpecialSearchEnhanced2Disabled != 'undefined') return;
var mainNode;
if (document.forms["search"]) {
mainNode = document.forms["search"];
} else {
mainNode = document.getElementById("powersearch");
if (!mainNode) return;
var mainNode = mainNode.lastChild;
if (!mainNode) return;
while(mainNode.nodeType == 3) {
mainNode = mainNode.previousSibling;
}
}
var firstEngine = "mediawiki";
var choices = document.createElement("div");
choices.setAttribute("id","searchengineChoices");
choices.style.textAlign = "center";
var lsearchbox = document.getElementById("powerSearchText");
var initValue = lsearchbox.value;
var space = "";
for (var id in searchEngines) {
var engine = searchEngines[id];
if(engine.ShortName)
{
if (space) choices.appendChild(space);
space = document.createTextNode(" ");
var attr = {
type: "radio",
name: "searchengineselect",
value: id,
onFocus: "changeSearchEngine(this.value)",
id: "searchengineRadio-"+id
};
var html = "<input";
for (var a in attr) html += " " + a + "='" + attr[a] + "'";
html += " />";
var span = document.createElement("span");
span.innerHTML = html;
choices.appendChild( span );
var label = document.createElement("label");
label.htmlFor = "searchengineRadio-"+id;
label.appendChild( document.createTextNode( engine.ShortName ) );
choices.appendChild( label );
}
}
mainNode.appendChild(choices);
var input = document.createElement("input");
input.id = "searchengineextraparam";
input.type = "hidden";
mainNode.appendChild(input);
changeSearchEngine(firstEngine, initValue);
}
function changeSearchEngine(selectedId, searchTerms) {
var currentId = document.getElementById("searchengineChoices").currentChoice;
if (selectedId == currentId) return;
document.getElementById("searchengineChoices").currentChoice = selectedId;
var radio = document.getElementById('searchengineRadio-' + selectedId);
radio.checked = "checked";
var engine = searchEngines[selectedId];
var p = engine.Template.indexOf('?');
var params = engine.Template.substr(p+1);
var form;
if (document.forms["search"]) {
form = document.forms["search"];
} else {
form = document.getElementById("powersearch");
}
form.setAttribute("action", engine.Template.substr(0,p));
form.removeAttribute("onsubmit");
if (navigator.appName == 'Microsoft Internet Explorer') form.parentNode.innerHTML = form.parentNode.innerHTML;
if (selectedId == 'mediawiki') {
if (document.forms["search"]) {
form.setAttribute("onsubmit", "SubSearch('search','searchText','/')");
} else {
form.setAttribute("onsubmit", "SubSearch('powersearch','powerSearchText','/')");
}
}
var l = ("" + params).split("&");
for (var i in l) {
var p = l[i].split("=");
var pValue = p[1];
if (pValue == "{language}") {
} else if (pValue == "{searchTerms}") {
var input;
if (document.forms["search"]) {
input = document.getElementById("searchText");
} else {
input = document.getElementById("powerSearchText");
}
input.name = p[0];
} else {
var input = document.getElementById("searchengineextraparam");
input.name = p[0];
input.value = pValue;
}
}
}