MediaWiki:SearchTools.js
Version vom 30. März 2022, 22:05 Uhr von Andreas Plank (Diskussion | Beiträge) (erara: + mit Volltext zuzüglich)
Hinweis: Leere nach dem Speichern den Browser-Cache, um die Änderungen sehen zu können.
- Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
- Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
- Internet Explorer: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
- Opera: Gehe zu Menü → Einstellungen (Opera → Einstellungen auf dem Mac) und dann auf Datenschutz & Sicherheit → Browserdaten löschen → Gespeicherte Bilder und Dateien.
// <source lang="javascript">
// This JavaScript will be loaded only for some pages, see MediaWiki:Common.js
// License Creative Commons Share Alike: A. Plank
// This program is free software; you can redistribute it and/or modify it under the terms of the EUPL v.1.1 or (at your option) the GNU General Public License as published by the Free Software Foundation; either GPL v.3 or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License (http://www.gnu.org/licenses/) for more details. */
/* global $, document */ /* = settings for JSLint */
"use strict"; // set ECMAScript 5 Strict Mode
/**
* @description Generate a search form passing the input text to the defined URL
* @augments $
* @requires jQuery
* @requires $.jI18n
* @requires $.resource
* @param {string} id HTML id
* @param {string} urlBasis basis URL without variables; if forMethod GET including questionmark at the end http://…?
* @param {string} title HTML title attribute
* @param {string} urlVariables all necessary URL variables
* @param {string} formMethod optional: get or post (default: get)
* @param {string} defaultString optional: string of the default search text (default: text of the original <span id="DryadesDataBaseSearch">Default text</span>)
* @returns {String}
*/
function CreateSearchForm(id, urlBasis, urlVariables, title, formMethod, defaultString) {
/* USAGE
<span id="PatentsGoogleComSearchStatusGRANT"></span> or e.g. with a default string:
<span id="PatentsGoogleComSearchStatusGRANT">Default string</span>
urlVariables you get from opera's 'Create search…' by clicking right mouse at any HTML-search field
*/
formMethod = formMethod ? formMethod : 'get'; // default form method is get
id = 'span#'+id;
// get optionally text value enclosed by <span></span>
defaultString = $(id).text() ? $(id).text() : ( defaultString ? defaultString : $.resource('SearchTool_defaultSearchString') );
// delete text value enclosed by <span></span>
// <form></form> must be added here otherwise just <form/> will be created (jQuery/Browser <-> xhtml?)
$(id).text('').html("<form class='search' method ='" + formMethod + "' target='_blank' action='" + urlBasis + "'></form>");
id = id + ' form';// adjust jQuery to find forms
if (urlVariables==='%s') {
$(id).append(
"<input type='text' title='" + title + "' size=30 " +
(defaultString.match(/(…$)/ig) ? " onfocus=\"this.value == ""+ defaultString +"" ? this.value = "" : null;\" onblur=\"this.value == '' ? this.value = '"+ defaultString +"' : null\" " : "") +
" value ='" + defaultString + "' "+
">" +
"<input type='submit' value='" + $.resource('SearchTool_submitString') + "' title='" + $.resource('SearchTool_submitHint') + "'> "
);
} else {
// split url + create input fields
$.each(urlVariables.split('&'), function(key, value) {
//alert(key + ': ' + value);
var urlVariable = value.split('=')[0];
var urlValue = value.split('=').slice(1).join('=');
$(id).append(
"<input " +
(urlValue.match(/(%s)/g) ? " type='text' " : " type='hidden' " ) +
(urlValue.match(/(%s)/g) ? " title='" + title + "' " : "" ) +
(urlValue.match(/(%s)/g) ? " size=30 " : "" ) +
(urlValue.match(/(%s)/g) ? (defaultString.match(/(…$)/ig) ? " onfocus=\"this.value == ""+ defaultString +"" ? this.value = "" : null;\" onblur=\"this.value == '' ? this.value = '"+ defaultString +"' : null\" " : "") : "" ) +
" name ='" + urlVariable +"' " +
" value ='" + (urlValue.match(/(%s)/g) ? defaultString : urlValue ) + "' "+
">" +
(key === (urlVariables.split('&').length - 1) ? "<input type='submit' value='" + $.resource('SearchTool_submitString') + "' title='" + $.resource('SearchTool_submitHint') + "'> " : "")
);
//alert($j(id).html());
});// END each()
}
}// END CreateSearchForm
$(document).ready(function() {
// append local resources to global object, "true" = deep extension
$.extend(true, $.jI18n, {
de: {
SearchTool_defaultSearchString : 'Suchbegriff hier eingeben…',
SearchTool_submitString : 'Los',
SearchTool_submitHint : 'Suche in neuer Seite…'
},
en: {
SearchTool_defaultSearchString : 'Type in a search term…',
SearchTool_submitString : 'Go',
SearchTool_submitHint : 'Opens a new page…'
},
fr: {
SearchTool_defaultSearchString : 'Entrez les recherche de mots ici…',
SearchTool_submitString : 'Et allez',
SearchTool_submitHint : 'Rechercher dans une nouvelle page…'
}
});
CreateSearchForm(
/* span.id */ 'PatentsGoogleComSearchStatusGRANT',
/* urlBasis */ 'https://patents.google.com/?',
/* urlVariables */ 'q=%s&status=GRANT',
/* title */ 'Patentsuche bei Google (mit Status GRANT, stattgegeben)',
/* formMethod */ 'get'
);
CreateSearchForm(
/* span.id */ 'FreeInactivePatentSearch',
/* urlBasis */ 'http://freeip.mtu.edu/home/index.php',
/* urlVariables */ 'STerm=%s',
/* title */ 'Suche Free Inactive Patent Search',
/* formMethod */ 'post'
);
CreateSearchForm(
/* https://www.digitale-sammlungen.de/de/search?query=all%3A%s&search-metadata=on&search-ocr=on&filter=subject_facet%3A"Wörterbuch" %3A → : */
/* span.id */ 'DigitaleSammlungenSucheThemaWoerterbuecher',
/* urlBasis */ 'https://www.digitale-sammlungen.de/de/search?',
/* urlVariables */ 'query=all:%s&search-metadata=on&search-ocr=on&filter=subject_facet:"Wörterbuch"',
/* title */ 'Volltextsuche im Thema Wörterbücher (bei Digitale Sammlungen, München)',
/* formMethod */ 'get'
);
CreateSearchForm(
/* https://www.digitale-sammlungen.de/de/search?query=all%3A%s&search-metadata=on&search-ocr=on&filter=subject_facet%3A"Fremdwort" %3A → : */
/* span.id */ 'DigitaleSammlungenSucheThemaFremdwort',
/* urlBasis */ 'https://www.digitale-sammlungen.de/de/search?',
/* urlVariables */ 'query=all:%s&search-metadata=on&search-ocr=on&filter=subject_facet:"Fremdwort"',
/* title */ 'Volltextsuche im Thema Fremdwort (bei Digitale Sammlungen, München)',
/* formMethod */ 'get'
);
CreateSearchForm(
/* https://www.digitale-sammlungen.de/de/search?query=all%3A%s&search-metadata=on&search-ocr=on&filter=subject_facet%3A"Etymologie" %3A → : */
/* span.id */ 'DigitaleSammlungenSucheThemaEtymologie',
/* urlBasis */ 'https://www.digitale-sammlungen.de/de/search?',
/* urlVariables */ 'query=all:%s&search-metadata=on&search-ocr=on&filter=subject_facet:"Etymologie"',
/* title */ 'Volltextsuche im Thema Etymologie (bei Digitale Sammlungen, München)',
/* formMethod */ 'get'
);
CreateSearchForm(
/* https://www.digitale-sammlungen.de/de/search?query=all%3A%s&search-metadata=on&search-ocr=on&filter=subject_facet%3A"Wortschatz" %3A → : */
/* span.id */ 'DigitaleSammlungenSucheThemaWortschatz',
/* urlBasis */ 'https://www.digitale-sammlungen.de/de/search?',
/* urlVariables */ 'query=all:%s&search-metadata=on&search-ocr=on&filter=subject_facet:"Wortschatz"',
/* title */ 'Volltextsuche im Thema Wortschatz (bei Digitale Sammlungen, München)',
/* formMethod */ 'get'
);
CreateSearchForm(
/* https://www.digitale-sammlungen.de/de/search?query=all%3A%s&search-metadata=on&search-ocr=on&filter=subject_facet%3A"Lehrmittel" %3A → : */
/* span.id */ 'DigitaleSammlungenSucheThemaLehrmittel',
/* urlBasis */ 'https://www.digitale-sammlungen.de/de/search?',
/* urlVariables */ 'query=all:%s&search-metadata=on&search-ocr=on&filter=subject_facet:"Lehrmittel"',
/* title */ 'Volltextsuche im Thema Lehrmittel (bei Digitale Sammlungen, München)',
/* formMethod */ 'get'
);
CreateSearchForm(
/* https://www.digitale-sammlungen.de/de/search?query=all%3A%s&search-metadata=on&search-ocr=on&filter=subject_facet%3A"Sprichwort" %3A → : */
/* span.id */ 'DigitaleSammlungenSucheThemaSprichwort',
/* urlBasis */ 'https://www.digitale-sammlungen.de/de/search?',
/* urlVariables */ 'query=all:%s&search-metadata=on&search-ocr=on&filter=subject_facet:"Sprichwort"',
/* title */ 'Volltextsuche im Thema Sprichwort (bei Digitale Sammlungen, München)',
/* formMethod */ 'get'
);
CreateSearchForm(
/* https://www.digitale-sammlungen.de/de/search?query=all%3A%s&search-metadata=on&search-ocr=on&filter=subject_facet%3A"Wortbildung" %3A → : */
/* span.id */ 'DigitaleSammlungenSucheThemaWortbildung',
/* urlBasis */ 'https://www.digitale-sammlungen.de/de/search?',
/* urlVariables */ 'query=all:%s&search-metadata=on&search-ocr=on&filter=subject_facet:"Wortbildung"',
/* title */ 'Volltextsuche im Thema Wortbildung (bei Digitale Sammlungen, München)',
/* formMethod */ 'get'
);
CreateSearchForm(
/* https://www.digitale-sammlungen.de/de/search?query=all%3A%s&search-metadata=on&search-ocr=on&filter=subject_facet%3A"Wortbildung" %3A → : Testversuch query=all%3A%s zusammenzuführen */
/* span.id */ 'TestversucheDigitaleSammlungenSucheThemaWortbildung',
/* urlBasis */ 'https://www.digitale-sammlungen.de/de/search?',
/* urlVariables */ 'query=all:&query=%s&search-metadata=on&search-ocr=on&filter=subject_facet:"Wortbildung"',
/* title */ 'Testversuche Suchen im Thema Wortbildung (bei Digitale Sammlungen, München)',
/* formMethod */ 'get'
);
CreateSearchForm(
/* https://www.digitale-sammlungen.de/de/search?query=all%3Acraw%3Fer&filter=language_bib%3A"en"&filter=language_bib%3A"de" */
/* span.id */ 'DigitaleSammlungenSucheSprachenEnglischDeutsch',
/* urlBasis */ 'https://www.digitale-sammlungen.de/de/search?',
/* urlVariables */ 'query=all:&query=%s&search-metadata=on&search-ocr=on&filter=language_bib:"en"&filter=language_bib:"de"',
/* title */ 'Volltextsuche in Sprachen Englisch und Deutsch (bei Digitale Sammlungen, München)',
/* formMethod */ 'get'
);
CreateSearchForm(
/* https://www.digitale-sammlungen.de/de/search?query=all%3Acraw%3Fer&filter=language_bib%3A"la"&filter=language_bib%3A"de" */
/* span.id */ 'DigitaleSammlungenSucheSprachenLateinischDeutsch',
/* urlBasis */ 'https://www.digitale-sammlungen.de/de/search?',
/* urlVariables */ 'query=all:&query=%s&search-metadata=on&search-ocr=on&filter=language_bib:"la"&filter=language_bib:"de"',
/* title */ 'Volltextsuche in Sprachen Lateinisch und Deutsch (bei Digitale Sammlungen, München)',
/* formMethod */ 'get'
);
CreateSearchForm(
/* https://www.digitale-sammlungen.de/de/search?query=all%3Acraw%3Fer&filter=language_bib%3A"fr"&filter=language_bib%3A"de" */
/* span.id */ 'DigitaleSammlungenSucheSprachenFranzoesischDeutsch',
/* urlBasis */ 'https://www.digitale-sammlungen.de/de/search?',
/* urlVariables */ 'query=all:&query=%s&search-metadata=on&search-ocr=on&filter=language_bib:"fr"&filter=language_bib:"de"',
/* title */ 'Volltextsuche in Sprachen Französisch und Deutsch (bei Digitale Sammlungen, München)',
/* formMethod */ 'get'
);
/*
https://www.e-rara.ch/search/quick?&query=%s&facets=language%3D"ger"%20and%20language%3D"eng"
https://www.e-rara.ch/search/quick?&query=%s&facets=language%3D"ger"%20and%20language%3D"lat"
https://www.e-rara.ch/search/quick?&query=%s&facets=language%3D"ger"%20and%20language%3D"grc"
https://www.e-rara.ch/search/quick?&query=%s&facets=language%3D"ger"%20and%20language%3D"fre"
…ftmode%3D"ocr"%20and
*/
CreateSearchForm(
/* span.id */ 'erara_Suche',
/* urlBasis */ 'https://www.e-rara.ch/search/quick?',
/* urlVariables */ 'query=%s',
/* title */ 'Titel- und Volltextsuche allgemein (bei e-rara.ch, Zürich, Schweiz)',
/* formMethod */ 'get'
);
CreateSearchForm(
/* span.id */ 'erara_SucheMitVolltext',
/* urlBasis */ 'https://www.e-rara.ch/search/quick?',
/* urlVariables */ 'query=%s&facets=ftmode="ocr"',
/* title */ 'Titel- und zuzüglch Volltextsuche allgemein (bei e-rara.ch, Zürich, Schweiz)',
/* formMethod */ 'get'
);
CreateSearchForm(
/* span.id */ 'erara_SucheSpracheDeutschFranzoesisch',
/* urlBasis */ 'https://www.e-rara.ch/search/quick?',
/* urlVariables */ 'query=%s&facets=language="ger" and language="fre"',
/* title */ 'Deutsche und Französische Titel- und Volltextsuche (bei e-rara.ch, Zürich, Schweiz)',
/* formMethod */ 'get'
);
CreateSearchForm(
/* span.id */ 'erara_SucheMitVolltextSpracheDeutschFranzoesisch',
/* urlBasis */ 'https://www.e-rara.ch/search/quick?',
/* urlVariables */ 'query=%s&facets=ftmode="ocr" and language="ger" and language="fre"',
/* title */ 'Deutsche und Französische Titel- und zuzüglch Volltextsuche (bei e-rara.ch, Zürich, Schweiz)',
/* formMethod */ 'get'
);
CreateSearchForm(
/* span.id */ 'erara_SucheSpracheDeutschLatein',
/* urlBasis */ 'https://www.e-rara.ch/search/quick?',
/* urlVariables */ 'query=%s&facets=language="ger" and language="lat"',
/* title */ 'Deutsche und Latein Titel- und Volltextsuche (bei e-rara.ch, Zürich, Schweiz)',
/* formMethod */ 'get'
);
CreateSearchForm(
/* span.id */ 'erara_SucheMitVolltextSpracheDeutschLatein',
/* urlBasis */ 'https://www.e-rara.ch/search/quick?',
/* urlVariables */ 'query=%s&facets=ftmode="ocr" and language="ger" and language="lat"',
/* title */ 'Deutsche und Latein Titel- und zuzüglch Volltextsuche (bei e-rara.ch, Zürich, Schweiz)',
/* formMethod */ 'get'
);
CreateSearchForm(
/* span.id */ 'erara_SucheSpracheDeutschAltgriechisch',
/* urlBasis */ 'https://www.e-rara.ch/search/quick?',
/* urlVariables */ 'query=%s&facets=language="ger" and language="grc"',
/* title */ 'Deutsche und Altgriechisch Titel- und Volltextsuche (bei e-rara.ch, Zürich, Schweiz)',
/* formMethod */ 'get'
);
CreateSearchForm(
/* span.id */ 'erara_SucheMitVolltextSpracheDeutschAltgriechisch',
/* urlBasis */ 'https://www.e-rara.ch/search/quick?',
/* urlVariables */ 'query=%s&facets=ftmode="ocr" and language="ger" and language="grc"',
/* title */ 'Deutsche und Altgriechisch Titel- und zuzüglch Volltextsuche (bei e-rara.ch, Zürich, Schweiz)',
/* formMethod */ 'get'
);
CreateSearchForm(
/* span.id */ 'erara_SucheSpracheDeutschEnglisch',
/* urlBasis */ 'https://www.e-rara.ch/search/quick?',
/* urlVariables */ 'query=%s&facets=language="ger" and language="eng"',
/* title */ 'Deutsche und Englisch Titel- und Volltextsuche (bei e-rara.ch, Zürich, Schweiz)',
/* formMethod */ 'get'
);
CreateSearchForm(
/* span.id */ 'erara_SucheMitVolltextSpracheDeutschEnglisch',
/* urlBasis */ 'https://www.e-rara.ch/search/quick?',
/* urlVariables */ 'query=%s&facets=ftmode="ocr" and language="ger" and language="eng"',
/* title */ 'Deutsche und Englisch Titel- und zuzüglch Volltextsuche (bei e-rara.ch, Zürich, Schweiz)',
/* formMethod */ 'get'
);
});// END doc-ready