MediaWiki:CustomSearch.js
Jump to navigation
Jump to search
Note: You may have to bypass your browser’s cache to see the changes. In addition, after saving a sitewide CSS file such as MediaWiki:Common.css, it will take 5-10 minutes before the changes take effect, even if you clear your cache.
- Mozilla / Firefox / Safari: hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (Command-R on a Macintosh);
- Konqueror and Chrome: click Reload or press F5;
- Opera: clear the cache in Tools → Preferences;
- Internet Explorer: hold Ctrl while clicking Refresh, or press Ctrl-F5.
- The following documentation is located at MediaWiki:CustomSearch.js/documentation. [edit]
- Useful links: subpage list • links • redirects
// {{documentation}}
/*
** This file should only be included for pages that use it. At the moment that is only [[Help:Tips_and_tricks]]. If you wish to add pages to use this, edit the relevant section of Common.js
** FireFox and IE 7 allow sites to customize the integrated search box. Below exposes that through [[WT:CUSTOM]].
*/
$(function () {
// Find the container node and bail if it's not there
var searches = document.getElementById('wtCustomIntegratedSearchProviders');
if (!searches) return;
// Remove all children from 'searches'
while (searches.hasChildNodes()) {
searches.removeChild(searches.firstChild);
}
// Bail out in unsupported browsers with a message that this doesn't work
if (!(window.external && ("AddSearchProvider" in window.external))) {
var span = document.createElement('em');
span.appendChild(document.createTextNode('This feature is not supported by your browser. Sorry!'));
searches.appendChild(span);
return;
}
// MediaWiki built-in search
appendSearchProviderLink(
'MediaWiki:SearchEnWiktWithMediaWiki.xml',
'Add integrated search provider “English Wiktionary”.'
);
// English Witionary search with Google
appendSearchProviderLink(
'MediaWiki:SearchEnWiktWithGoogle.xml',
'Add integrated search provider “English Wiktionary via Google”.'
);
// All Witionary search with Google
appendSearchProviderLink(
'MediaWiki:SearchAllWiktWithGoogle.xml',
'Add integrated search provider “All Wiktionaries via Google”.'
);
// English Witionary search with Ninjawords
appendSearchProviderLink(
'MediaWiki:SearchWithNinjawords.xml',
'Add integrated search provider “English Wiktionary via Ninjawords”.'
);
// Anchor creator helper
function appendSearchProviderLink(providerXml, linkText) {
var anchor = document.createElement("a");
anchor.setAttribute('href', '#');
anchor.appendChild(document.createTextNode(linkText));
var providerXmlUrl =
'http://en.wiktionary.org/w/index.php?action=raw&title=' +
encodeURIComponent(providerXml);
anchor.onclick = function () {
window.external.AddSearchProvider(providerXmlUrl);
return false;
};
if (searches.hasChildNodes()) {
searches.appendChild(document.createElement("br"));
}
searches.appendChild(anchor);
}
});