MediaWiki:Common.js
Aus DG HochN-Wiki
Hinweis: Leere nach dem Veröffentlichen 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
- Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
/* Das folgende JavaScript wird für alle Benutzer geladen. */
/* Offset für fixed Navigation bei Ankerlinks */
(function($, window) {
var adjustAnchor = function() {
var $anchor = $(':target'),
fixedElementHeight = 100;
if ($anchor.length > 0) {
window.scrollTo(0, $anchor.offset().top - fixedElementHeight);
}
};
$(window).on('hashchange load', function() {
adjustAnchor();
});
})(jQuery, window);
/* Dynamische URL für den "Zum Bearbeitungsfeld gehen"-Link */
(function($) {
$(document).ready(function() {
$('.mw-continue-editing a[href="#editform"]').each(function() {
$(this).attr('href', window.location.href);
});
});
})(jQuery);
/* Speichern der Formulardaten beim Verlassen der Vorschau */
(function($) {
$(document).ready(function() {
// Speichere Formulardaten, wenn der "Zum Bearbeitungsfeld gehen"-Link geklickt wird
$('.mw-continue-editing a[href="#editform"]').on('click', function(e) {
e.preventDefault();
var formData = {};
// Speichere alle Input-Felder (Text, Checkboxen, etc.)
$('form input, form textarea, form select').each(function() {
var $input = $(this);
if ($input.attr('type') === 'checkbox' || $input.attr('type') === 'radio') {
formData[$input.attr('name')] = $input.is(':checked');
} else {
formData[$input.attr('name')] = $input.val();
}
});
// Speichere die Daten im localStorage
localStorage.setItem('formPreviewData', JSON.stringify(formData));
// Weiterleitung zur Bearbeitungsseite
window.location.href = window.location.href;
});
});
})(jQuery);
/* Wiederherstellen der Formulardaten beim Laden der Bearbeitungsseite */
(function($) {
$(document).ready(function() {
var savedData = localStorage.getItem('formPreviewData');
if (savedData) {
var formData = JSON.parse(savedData);
// Setze die gespeicherten Werte zurück in die Formularfelder
for (var key in formData) {
var $input = $('[name="' + key + '"]');
if ($input.attr('type') === 'checkbox' || $input.attr('type') === 'radio') {
$input.prop('checked', formData[key]);
} else {
$input.val(formData[key]);
}
}
// Lösche die gespeicherten Daten, um alte Einträge zu vermeiden
localStorage.removeItem('formPreviewData');
}
});
})(jQuery);