MediaWiki:Common.js: Unterschied zwischen den Versionen

Aus Wiki.sah
(Die Seite wurde neu angelegt.)
 
(ursprüngliche Version wiederhergestellt)
Markierung: Manuelle Zurücksetzung
 
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
/* Wiki-Layout auskommentiert
// === Google Analytics mit Selbst-Ausschluss ===


== Multiple onload functions ==
// Prüfen, ob der Benutzer das Opt-out-Cookie gesetzt hat
<pre>
if (document.cookie.indexOf('disableGA=true') === -1) {
// ============================================================ */
    // Google Analytics laden
// BEGIN Enable multiple onload functions
    var script = document.createElement('script');
    script.async = true;
    script.src = 'https://www.googletagmanager.com/gtag/js?id=UA-7078304';
    document.head.appendChild(script);


// setup onload functions this way:
    window.dataLayer = window.dataLayer || [];
// aOnloadFunctions[aOnloadFunctions.length] = function_name; // without brackets!
    function gtag(){dataLayer.push(arguments);}
    gtag('js', new Date());
    gtag('config', 'UA-7078304');
} else {
    console.log('Google Analytics ist für diesen Benutzer deaktiviert.');
}


if (!window.aOnloadFunctions) {
// === Button / Link zum Selbst-Ausschluss ===
  var aOnloadFunctions = new Array();
mw.hook('wikipage.content').add(function($content) {
}
    if ($content.find('#gaOptOut').length === 0) return;
    $content.find('#gaOptOut').on('click', function() {
        document.cookie = "disableGA=true; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/";
        alert("Google Analytics wurde für dich deaktiviert.");
    });
});


window.onload = function() {
  if (window.aOnloadFunctions) {
    for (var _i=0; _i<aOnloadFunctions.length; _i++) {
      aOnloadFunctions[_i]();
    }
  }
}


// END Enable multiple onload functions
function ModifySidebar( action, section, name, link ) {
/* ============================================================</pre>
try {
switch ( section ) {
case 'languages':
var target = 'p-lang';
break;
case 'toolbox':
var target = 'p-tb';
break;
case 'navigation':
var target = 'p-navigation';
break;
default:
var target = 'p-' + section;
break;
}


== Dynamic Navication Bars ==
if ( action == 'add' ) {
<pre>
var node = document.getElementById( target )
// ============================================================ */
  .getElementsByTagName( 'div' )[0]
// BEGIN Dynamic Navigation Bars
  .getElementsByTagName( 'ul' )[0];
// NEEDS Enable multiple onload functions


// set up the words in your language
var aNode = document.createElement( 'a' );
var NavigationBarHide = 'Einklappen';
var liNode = document.createElement( 'li' );
var NavigationBarShow = 'Ausklappen';


// set up max count of Navigation Bars on page,
aNode.appendChild( document.createTextNode( name ) );
// if there are more, all will be hidden
aNode.setAttribute( 'href', link );
// NavigationBarShowDefault = 0; // all bars will be hidden
liNode.appendChild( aNode );
// NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden
liNode.className = 'plainlinks';
if (typeof NavigationBarShowDefault == 'undefined' ) {
node.appendChild( liNode );
    var NavigationBarShowDefault = 1;
}
}


// shows and hides content and picture (if available) of navigation bars
if ( action == 'remove' ) {
// Parameters:
var list = document.getElementById( target )
//    indexNavigationBar: the index of navigation bar to be toggled
  .getElementsByTagName( 'div' )[0]
function toggleNavigationBar(indexNavigationBar)
  .getElementsByTagName( 'ul' )[0];
{
  var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
  var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);


  if (!NavFrame || !NavToggle) {
var listelements = list.getElementsByTagName( 'li' );
      return false;
  }


  // if shown now
for ( var i = 0; i < listelements.length; i++ ) {
  if (NavToggle.firstChild.data == NavigationBarHide) {
if (
      for (
listelements[i].getElementsByTagName( 'a' )[0].innerHTML == name ||
              var NavChild = NavFrame.firstChild;
listelements[i].getElementsByTagName( 'a' )[0].href == link
              NavChild != null;
)
              NavChild = NavChild.nextSibling
{
          ) {
list.removeChild( listelements[i] );
          if (NavChild.className == 'NavPic') {
}
              NavChild.style.display = 'none';
}
          }
}
          if (NavChild.className == 'NavContent') {
              NavChild.style.display = 'none';
          }
          if (NavChild.className == 'NavToggle') {
              NavChild.firstChild.data = NavigationBarShow;
          }
      }


  // if hidden now
} catch( e ) {
  } else if (NavToggle.firstChild.data == NavigationBarShow) {
// let's just ignore what's happened
      for (
return;
              var NavChild = NavFrame.firstChild;
}
              NavChild != null;
              NavChild = NavChild.nextSibling
          ) {
          if (NavChild.className == 'NavPic') {
              NavChild.style.display = 'block';
          }
          if (NavChild.className == 'NavContent') {
              NavChild.style.display = 'block';
          }
          if (NavChild.className == 'NavToggle') {
              NavChild.firstChild.data = NavigationBarHide;
          }
      }
  }
}
}


// adds show/hide-button to navigation bars
function CustomizeModificationsOfSidebar() {
function createNavigationBarToggleButton()
// adds [[Special:CategoryTree]] to toolbox
{
ModifySidebar( 'add', 'toolbox', 'CategoryTree', 'http://en.wikipedia.org/wiki/Special:CategoryTree' );
  var indexNavigationBar = 0;
// removes [[Special:Upload]] from toolbox
  // iterate over all < div >-elements
ModifySidebar( 'remove', 'toolbox', 'Upload file', 'http://en.wikipedia.org/wiki/Special:Upload' );
  for(
          var i=0;
          NavFrame = document.getElementsByTagName("div")[i];
          i++
      ) {
      // if found a navigation bar
      if (NavFrame.className == "NavFrame") {
 
          indexNavigationBar++;
          var NavToggle = document.createElement("a");
          NavToggle.className = 'NavToggle';
          NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
          NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
 
          var NavToggleText = document.createTextNode(NavigationBarHide);
          NavToggle.appendChild(NavToggleText);
 
          // add NavToggle-Button as first div-element
          // in < div class="NavFrame" >
          NavFrame.insertBefore(
              NavToggle,
              NavFrame.firstChild
          );
          NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
      }
  }
  // if more Navigation Bars found than Default: hide all
  if (NavigationBarShowDefault < indexNavigationBar) {
      for(
              var i=1;
              i<=indexNavigationBar;
              i++
      ) {
          toggleNavigationBar(i);
      }
  }
 
}
}


aOnloadFunctions[aOnloadFunctions.length] = createNavigationBarToggleButton;
jQuery( CustomizeModificationsOfSidebar );
 
// END Dynamic Navigation Bars
// ============================================================</pre>

Aktuelle Version vom 17. November 2025, 13:17 Uhr

// === Google Analytics mit Selbst-Ausschluss ===

// Prüfen, ob der Benutzer das Opt-out-Cookie gesetzt hat
if (document.cookie.indexOf('disableGA=true') === -1) {
    // Google Analytics laden
    var script = document.createElement('script');
    script.async = true;
    script.src = 'https://www.googletagmanager.com/gtag/js?id=UA-7078304';
    document.head.appendChild(script);

    window.dataLayer = window.dataLayer || [];
    function gtag(){dataLayer.push(arguments);}
    gtag('js', new Date());
    gtag('config', 'UA-7078304');
} else {
    console.log('Google Analytics ist für diesen Benutzer deaktiviert.');
}

// === Button / Link zum Selbst-Ausschluss ===
mw.hook('wikipage.content').add(function($content) {
    if ($content.find('#gaOptOut').length === 0) return;
    $content.find('#gaOptOut').on('click', function() {
        document.cookie = "disableGA=true; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/";
        alert("Google Analytics wurde für dich deaktiviert.");
    });
});


function ModifySidebar( action, section, name, link ) {
	try {
		switch ( section ) {
			case 'languages':
				var target = 'p-lang';
				break;
			case 'toolbox':
				var target = 'p-tb';
				break;
			case 'navigation':
				var target = 'p-navigation';
				break;
			default:
				var target = 'p-' + section;
				break;
		}

		if ( action == 'add' ) {
			var node = document.getElementById( target )
							   .getElementsByTagName( 'div' )[0]
							   .getElementsByTagName( 'ul' )[0];

			var aNode = document.createElement( 'a' );
			var liNode = document.createElement( 'li' );

			aNode.appendChild( document.createTextNode( name ) );
			aNode.setAttribute( 'href', link );
			liNode.appendChild( aNode );
			liNode.className = 'plainlinks';
			node.appendChild( liNode );
		}

		if ( action == 'remove' ) {
			var list = document.getElementById( target )
							   .getElementsByTagName( 'div' )[0]
							   .getElementsByTagName( 'ul' )[0];

			var listelements = list.getElementsByTagName( 'li' );

			for ( var i = 0; i < listelements.length; i++ ) {
				if (
					listelements[i].getElementsByTagName( 'a' )[0].innerHTML == name ||
					listelements[i].getElementsByTagName( 'a' )[0].href == link
				)
				{
					list.removeChild( listelements[i] );
				}
			}
		}

	} catch( e ) {
		// let's just ignore what's happened
		return;
	}
}

function CustomizeModificationsOfSidebar() {
	// adds [[Special:CategoryTree]] to toolbox
	ModifySidebar( 'add', 'toolbox', 'CategoryTree', 'http://en.wikipedia.org/wiki/Special:CategoryTree' );
	// removes [[Special:Upload]] from toolbox
	ModifySidebar( 'remove', 'toolbox', 'Upload file', 'http://en.wikipedia.org/wiki/Special:Upload' );
}

jQuery( CustomizeModificationsOfSidebar );