MediaWiki:Common.js

Aus Cryptshare Documentation
Wechseln zu:Navigation, Suche

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
  • Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
  • Opera: Strg+F5
function executeStatisticsTools(current_page) {
	// Google Analytics
	(function (i, s, o, g, r, a, m) {
		i["GoogleAnalyticsObject"] = r;
		(i[r] =
			i[r] ||
			function () {
				(i[r].q = i[r].q || []).push(arguments);
			}),
			(i[r].l = 1 * new Date());
		(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
		a.async = 1;
		a.src = g;
		m.parentNode.insertBefore(a, m);
	})(
		window,
		document,
		"script",
		"https://www.google-analytics.com/analytics.js",
		"ga"
	);

	ga("create", "UA-24783289-5", "auto");
	ga("set", "anonymizeIp", true);
	ga("require", "displayfeatures");
	ga("require", "linkid", "linkid.js");

	if (current_page) {
		ga("send", current_page);
	} else {
		ga("send", "pageview");
	}

	// Bing
	(function (w, d, t, r, u) {
		var f, n, i;
		(w[u] = w[u] || []),
			(f = function () {
				var o = {
					ti: "28001641"
				};
				(o.q = w[u]), (w[u] = new UET(o)), w[u].push("pageLoad");
			}),
			(n = d.createElement(t)),
			(n.src = r),
			(n.async = 1),
			(n.onload = n.onreadystatechange = function () {
				var s = this.readyState;
				(s && s !== "loaded" && s !== "complete") ||
				(f(), (n.onload = n.onreadystatechange = null));
			}),
			(i = d.getElementsByTagName(t)[0]),
			i.parentNode.insertBefore(n, i);
	})(window, document, "script", "//bat.bing.com/bat.js", "uetq");
}

if (Cookiebot) {
	window.addEventListener(
		"CookiebotOnAccept",
		function (e) {
			if (Cookiebot.consent.statistics) {
				executeStatisticsTools();
			}
		},
		false
	);
}

function markAnonymousUser() {
	if ($("#pt-login").length > 0) {
		$(document.body).addClass("anonymous");
	}
}

$(document).ready(function () {
	markAnonymousUser()
	SideBar.updateSelectedMenuItem()
	PageTitle.showTitle()
});

var SideBar = {
	normalizeName : function(name) {
		var normalizedName = name.replaceAll("_", " ")
		normalizedName = normalizedName.replaceAll("%26", "&")
		normalizedName = normalizedName.replaceAll("%2B", "+")
		return normalizedName
	},
	getPageName : function(url) {
		var pos = url.lastIndexOf(":")
		var endPositions = ["?", "&", "#"]
		var lastPos
		for (var i = 0;i < endPositions.length;i++) {
			if (lastPos === -1 || lastPos === undefined)
				lastPos = url.indexOf(endPositions[i])
		}
		if (lastPos === -1)
			return decodeURI(url.substring(pos + 1))
		else
			return decodeURI(url.substring(pos + 1, lastPos))
	},
	makeSelection : function(selector) {
		$(selector).toggleClass("selected")
		$('#sidebar-navigation').animate({ scrollTop: ($(selector).offset().top-300)}, 'fast');
	},
	selectMenuItem : function(name) {
		console.log("SideBar Navigation - Selecting ", name)
		var item = $('#sidebar-navigation a:contains("' + name + '")')
		if (item.length === 0) // MediaWiki makes an uppercase URL in some cases
			item = $('#sidebar-navigation a:contains("' + name.toLowerCase() + '")')
		if (item.length === 0) { // Handling titles containing a minus character
			var splitItems = name.split(" ")
			var selector = '#sidebar-navigation a:contains("'
			for (var i = 0;i < splitItems.length;i++) {
				selector += splitItems[i] + '")'
				if (splitItems[i+1])
					selector += ':contains("'
			}
			SideBar.makeSelection(selector)
		} else if (item) {
			$(item).each(function(index, element) {
				if (element.innerText === name)
					SideBar.makeSelection(element)
			})
		}
	},
	updateSelectedMenuItem : function() {
		SideBar.selectMenuItem(SideBar.normalizeName(SideBar.getPageName(window.location.href)))
	}
}

var PageTitle = {
	showTitle : function() {
		var element = document.getElementById('firstHeading')
		var title = element.innerText.substring(element.innerText.indexOf(':') + 1)
		element.innerText = title
		element.setAttribute("style", "display:inherit")
	}
}