MediaWiki:Gadget-redirect cross-reference.js

Definition från Wiktionary, den fria ordlistan.
Hoppa till navigering Hoppa till sök

OBS: Efter du har publicerat sidan kan du behöva tömma din webbläsares cache för att se ändringarna.

  • Firefox / Safari: Håll ned Skift och klicka på Uppdatera sidan eller tryck Ctrl-F5 eller Ctrl-R (⌘-R på Mac)
  • Google Chrome: Tryck Ctrl-Skift-R (⌘-Skift-R på Mac)
  • Internet Explorer / Edge: Håll ned Ctrl och klicka på Uppdatera eller tryck Ctrl-F5
  • Opera: Tryck Ctrl-F5.
$(function () {
	if (
		!mw.config.get( 'wgIsArticle' )
		|| mw.config.get( 'wgNamespaceNumber' ) !== 0
		|| /[?&]oldid=/.test(location.search)
	) {
		return;
	}

	var $a, $i, $li;

	// Inget uppslag
	$a = $('.template-inget_uppslag a');
	if ($a.length === 1) {
		$('.template-inget_uppslag').after(timer($a));
	}

	// Böjningsform
	$li = $('#mw-content-text li');
	$i = $li.children('i');
	$a = $li.children('a');
	if ($li.length === 1 && $a.length === 1 && $i.text() === 'böjningsform av') {
		$li.append(timer($a));
	}

	function timer($a) {
		var $seconds_left;

		$(document).on('keydown', function h(e) {
			if (e.which === 27) { // escape
				clear();
				$(document).off('keydown', h);
			}
		});

		var $p = $('<p>', {css: {fontSize: '1.5em'}})
			.append(
				'Omdirigerar till ',
				$a.clone(),
				' om ',
				$seconds_left = $('<span>'),
				'. ',
				$('<button>', {text: 'Avbryt'}).click(clear)
			);

		var i = 6;
		var timer;
		(function count() {
			i--;
			$seconds_left.text(i === 1 ? '1 sekund' : i + ' sekunder');
			if (i) {
				timer = setTimeout(count, 1000);
			} else {
				location.href = $a.attr('href');
			}
		}());
		function clear() {
			clearTimeout(timer);
			$p.remove();
		}

		return $p;
	}
});