Weitere Optionen
Slideshow-Bug provisorisch behoben |
Fix für das inputbox-Problem (siehe Technik-Zentrale); Laden der auf der Hauptseite verlinkten TV-Planer direkt dort anstatt des aktuellen, ohne eine neue Seite laden zu müssen; Schneefall-Einsatz im Dezember und Januar automatisiert; Gliederung |
||
| Zeile 1: | Zeile 1: | ||
/* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */ | /* Jedes JavaScript hier wird für alle Benutzer für jede Seite geladen. */ | ||
// | //=========================================================================== | ||
// Externe Links in neuem Fenster öffnen, sofern sie nicht in dieses Wiki mit unterbundener Weiterleitung ([[Vorlage:KeinRedirect]]) führen | // Externe Links in neuem Fenster öffnen, sofern sie nicht in dieses Wiki mit unterbundener Weiterleitung ([[Vorlage:KeinRedirect]]) führen | ||
//--------------------------------------------------------------------------- | //--------------------------------------------------------------------------- | ||
| Zeile 15: | Zeile 14: | ||
}); | }); | ||
}); | }); | ||
// | //=========================================================================== | ||
// | //=========================================================================== | ||
// Fügt eine Betreffzeile auf leeren Diskussionsseiten ein | // Fügt eine Betreffzeile auf leeren Diskussionsseiten ein | ||
//--------------------------------------------------------------------------- | //--------------------------------------------------------------------------- | ||
| Zeile 29: | Zeile 28: | ||
link.href += '§ion=new'; | link.href += '§ion=new'; | ||
}); | }); | ||
// | //=========================================================================== | ||
// | //=========================================================================== | ||
// import Onlyifuploading-functions | // import Onlyifuploading-functions | ||
// SEE ALSO [[MediaWiki:Onlyifuploading.js]] | // SEE ALSO [[MediaWiki:Onlyifuploading.js]] | ||
| Zeile 39: | Zeile 38: | ||
importScript("MediaWiki:Onlyifuploading.js"); | importScript("MediaWiki:Onlyifuploading.js"); | ||
} | } | ||
// | //=========================================================================== | ||
// | //=========================================================================== | ||
// Einbinden von [[Vorlage:Mentorenliste]] | // Einbinden von [[Vorlage:Mentorenliste]] | ||
//--------------------------------------------------------------------------- | //--------------------------------------------------------------------------- | ||
importScript('Vorlage:Mentorenliste'); | importScript('Vorlage:Mentorenliste'); | ||
// | //=========================================================================== | ||
// | //=========================================================================== | ||
// Darstellung der Abschnitte in der Kategorie für wichtige SG1-Episoden | // Darstellung der Abschnitte in der Kategorie für wichtige SG1-Episoden | ||
// nach einzelnen Staffeln | // nach einzelnen Staffeln | ||
| Zeile 60: | Zeile 59: | ||
}); | }); | ||
}); | }); | ||
// | //=========================================================================== | ||
// | //=========================================================================== | ||
// Zeilen der Infoboxen abwechselnd einfärben | // Zeilen der Infoboxen abwechselnd einfärben | ||
//--------------------------------------------------------------------------- | //--------------------------------------------------------------------------- | ||
| Zeile 72: | Zeile 71: | ||
$("tr[class*='grünzebra']:not(.spoiler):odd").removeClass("zebragrün"); | $("tr[class*='grünzebra']:not(.spoiler):odd").removeClass("zebragrün"); | ||
}); | }); | ||
// | //=========================================================================== | ||
// | //=========================================================================== | ||
// Wenige (<6) Einzelnachweise in nur einer Spalte darstellen | // Wenige (<6) Einzelnachweise in nur einer Spalte darstellen | ||
//--------------------------------------------------------------------------- | //--------------------------------------------------------------------------- | ||
| Zeile 83: | Zeile 82: | ||
} | } | ||
}); | }); | ||
// | //=========================================================================== | ||
// | //=========================================================================== | ||
// Sortierung von Datum und Zeit der Form „11:58, 21. Jul. 2012“ in Tabellen | // Sortierung von Datum und Zeit der Form „11:58, 21. Jul. 2012“ in Tabellen | ||
//--------------------------------------------------------------------------- | //--------------------------------------------------------------------------- | ||
| Zeile 109: | Zeile 108: | ||
}); | }); | ||
} | } | ||
// | //=========================================================================== | ||
// | //=========================================================================== | ||
// Zählt die Anzahl der Bearbeitungen eines Benutzers | // Zählt die Anzahl der Bearbeitungen eines Benutzers | ||
// Siehe auch [[Benutzer:CF/revisionMainspaceCounter.js]] | // Siehe auch [[Benutzer:CF/revisionMainspaceCounter.js]] | ||
| Zeile 195: | Zeile 194: | ||
{ | { | ||
input.parentNode.removeChild(input); | input.parentNode.removeChild(input); | ||
if (header && $(header).find("span.revisionMainspaceCounter").length == 0) | if (header && $(header).find("span.revisionMainspaceCounter").length === 0) | ||
{ | { | ||
$(header).find(".headerSort").unbind("click"); | $(header).find(".headerSort").unbind("click"); | ||
| Zeile 226: | Zeile 225: | ||
$(revisionMainspaceCounter.findCounter); | $(revisionMainspaceCounter.findCounter); | ||
// | //=========================================================================== | ||
// | //=========================================================================== | ||
// Versteckt Inhalte | // Versteckt Inhalte | ||
// [[Vorlage:Spoiler]] | // [[Vorlage:Spoiler]] | ||
| Zeile 273: | Zeile 272: | ||
$( mw.SGWSpoiler.init ); | $( mw.SGWSpoiler.init ); | ||
//=========================================================================== | |||
//=========================================================================== | |||
// automatisiertes Einbinden vom virtuellen Schneefall im Dezember und Januar | |||
//--------------------------------------------------------------------------- | //--------------------------------------------------------------------------- | ||
var curmonth=new Date().getMonth(); | |||
if(curmonth===11 || curmonth===0) importScript('Benutzer:CF/Schnee.js'); | |||
//=========================================================================== | |||
// | |||
//=========================================================================== | |||
// Toggles the display of elements on a page | |||
// Author/contact: Austin Che http://openwetware.org/wiki/User:Austin | |||
//--------------------------------------------------------------------------- | //--------------------------------------------------------------------------- | ||
// indexed array of toggler ids to array of associated toggle operations | // indexed array of toggler ids to array of associated toggle operations | ||
| Zeile 481: | Zeile 484: | ||
} | } | ||
} | } | ||
//=========================================================================== | |||
//Import-Skript zum Auslagern großer Scripte | //=========================================================================== | ||
// Import-Skript zum Auslagern großer Scripte | |||
//--------------------------------------------------------------------------- | |||
function importScript(page) { | function importScript(page) { | ||
// TODO: might want to introduce a utility function to match wfUrlencode() in PHP | // TODO: might want to introduce a utility function to match wfUrlencode() in PHP | ||
| Zeile 503: | Zeile 510: | ||
return s; | return s; | ||
} | } | ||
//=========================================================================== | |||
// | |||
//=========================================================================== | |||
// automatische Aktualisierung der Letzten Änderungen via Ajax | |||
//--------------------------------------------------------------------------- | |||
if (wgUserGroups) { | if (wgUserGroups) { | ||
for (var i=0; i<wgUserGroups.length; i++) { | for (var i=0; i<wgUserGroups.length; i++) { | ||
| Zeile 513: | Zeile 524: | ||
} | } | ||
} | } | ||
//=========================================================================== | |||
//bessere Linktitel | |||
//=========================================================================== | |||
// bessere Linktitel für Wikipedia-Links | |||
//--------------------------------------------------------------------------- | |||
$("a[href^='http://de.wikipedia.org']").each(function(){ | $("a[href^='http://de.wikipedia.org']").each(function(){ | ||
$(this).attr('title',$(this).text()+' in der deutschen Wikipedia'); | $(this).attr('title',$(this).text()+' in der deutschen Wikipedia'); | ||
| Zeile 521: | Zeile 536: | ||
$(this).attr('title',$(this).text()+' in der englischen Wikipedia'); | $(this).attr('title',$(this).text()+' in der englischen Wikipedia'); | ||
}); | }); | ||
//=========================================================================== | |||
//behebt Anzeigefehler bei unmarkierten Änderungen: Wenn eine Box vor der Infobox steht und maximale Breite füllt, überlappte sich deren Inhalt bei Sichtern teils mit der Infobox. | |||
//=========================================================================== | |||
// behebt Anzeigefehler bei unmarkierten Änderungen: Wenn eine Box vor der Infobox steht und maximale Breite füllt, überlappte sich deren Inhalt bei Sichtern teils mit der Infobox. | |||
//--------------------------------------------------------------------------- | |||
$("#mw-fr-revisiontag").after("<div style='height: 10px;'></div>"); | $("#mw-fr-revisiontag").after("<div style='height: 10px;'></div>"); | ||
//=========================================================================== | |||
//verbirgt das Betreff-Eingabefeld bei Löschanträgen, da die Überschrift schon im Editor hinzugefügt wird | //=========================================================================== | ||
// verbirgt das Betreff-Eingabefeld bei Löschanträgen, da die Überschrift schon im Editor hinzugefügt wird | |||
//--------------------------------------------------------------------------- | |||
if($('.noSummary').length){ | if($('.noSummary').length){ | ||
$('#editform #wpSummary').hide(); | $('#editform #wpSummary').hide(); | ||
$('#editform #wpSummaryLabel').hide(); | $('#editform #wpSummaryLabel').hide(); | ||
} | } | ||
//=========================================================================== | |||
//behebt einen Fehler mit den slideshows, damit sie nicht teilweise mitten im Text hängen | |||
//=========================================================================== | |||
// behebt einen Fehler mit den slideshows, damit sie nicht teilweise mitten im Text hängen | |||
//--------------------------------------------------------------------------- | |||
$('.slideshow').each(function(){ | $('.slideshow').each(function(){ | ||
$(this).css('clear',($(this).css('float')=='left')?'left':'right'); | $(this).css('clear',($(this).css('float')=='left')?'left':'right'); | ||
}) | }) | ||
//=========================================================================== | |||
//=========================================================================== | |||
// Lade die verlinkten anderen TV-Planer auf der Hauptseite direkt anstatt des normal angezeigten, ohne die Seite verlassen zu müssen | |||
//--------------------------------------------------------------------------- | |||
if(mw.config.get('wgPageName')==="Hauptseite"){ | |||
var iconleft=$('#Diese_Woche_im_TV + div > div > table td:first-child img:first-child')[0].outerHTML; | |||
var iconright=$('#Diese_Woche_im_TV + div > div > table td:nth-child(3) small + img')[0].outerHTML; | |||
$('#TVPlaner + table td:nth-child(2)').prepend('<div id="TVPlaner-thisWeek" style="display:none;">'+iconright+'<small>'+$('#Diese_Woche_im_TV small a')[0].outerHTML.replace('Bearbeiten', 'diese Woche')+'</small>'+iconleft+'</div>'); | |||
$('#TVPlaner + table td:first-child a, #TVPlaner-thisWeek a, #TVPlaner + table td:nth-child(3) a').each(function(){ | |||
$(this).click(function(e){ | |||
var url=$(this).attr('href'); | |||
e.preventDefault(); | |||
$('#TVPlaner').slideUp(); | |||
if($('#TVPlaner-thisWeek').is(':hidden')) $('#TVPlaner-thisWeek').show(); //beim ersten "Umschalten" muss der Link zur aktuellen Woche sichtbar gemacht werden | |||
$('#TVPlaner').load(url+'#mw-content-text table', function(){ | |||
$('#TVPlaner').slideDown(); | |||
}); | |||
$('#Diese_Woche_im_TV small a').attr('href', url); | |||
}); | |||
}); | |||
} | |||
//=========================================================================== | |||
//=========================================================================== | |||
// Fix für das inputbox-Problem: Ignoriere alle inputboxen innerhalb der vector-Vorschau, sonst wird evtl. auf der falschen Seite gespeichert | |||
//--------------------------------------------------------------------------- | |||
if(mw.config.get('wgAction')==="edit"){ | |||
window.onload = function () { | |||
var observer=new MutationObserver(function(mutations){ | |||
mutations.forEach(function(m){ | |||
if(m.addedNodes.length){ | |||
$('.wikiEditor-preview-contents').promise().done(function() { | |||
$('.wikiEditor-preview-contents input').prop('disabled', true); | |||
}); | |||
} | |||
}); | |||
}); | |||
observer.observe(document.querySelector('.wikiEditor-preview-contents'),{childList: true}); | |||
}; | |||
} | |||
//=========================================================================== | |||