MediaWiki:CustomSearch.js

Ut Wikiwurdboek

Opmerking: Nei it fêstlizzen kin it nedich wêze de oerslach fan jo blêder te leegjen, foar't de wizigings te sjen binne.

  • Firefox / Safari: Hâld Shift yntreaun wylst jo op Fernije klikke, of typ Ctrl-F5 of Ctrl-R (⌘-R op in Mac)
  • Google Chrome: Typ Ctrl-Shift-R (⌘-Shift-R op in Mac)
  • Internet Explorer / Edge: Hâld Ctrl yntreaun wylst jo Vernieuwen klikke, of typ Ctrl-F5
  • Opera: Typ Ctrl-F5.
/*<pre> This file should only be included for pages that use it. At the moment that is only [[Help:Customizing_your_monobook]]. 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 =
            '//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);
    }
});