<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://schwarzatal.org/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-MakerTube.js</id>
	<title>MediaWiki:Gadget-MakerTube.js - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://schwarzatal.org/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-MakerTube.js"/>
	<link rel="alternate" type="text/html" href="https://schwarzatal.org/index.php?title=MediaWiki:Gadget-MakerTube.js&amp;action=history"/>
	<updated>2026-09-22T10:12:12Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Schwarzatal.org</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://schwarzatal.org/index.php?title=MediaWiki:Gadget-MakerTube.js&amp;diff=1342&amp;oldid=prev</id>
		<title>Admin: Änderung 1341 von Admin (Diskussion) rückgängig gemacht.</title>
		<link rel="alternate" type="text/html" href="https://schwarzatal.org/index.php?title=MediaWiki:Gadget-MakerTube.js&amp;diff=1342&amp;oldid=prev"/>
		<updated>2026-09-19T18:11:13Z</updated>

		<summary type="html">&lt;p&gt;Änderung &lt;a href=&quot;/index.php?title=Spezial:Diff/1341&quot; title=&quot;Spezial:Diff/1341&quot;&gt;1341&lt;/a&gt; von &lt;a href=&quot;/index.php?title=Spezial:Beitr%C3%A4ge/Admin&quot; title=&quot;Spezial:Beiträge/Admin&quot;&gt;Admin&lt;/a&gt; (&lt;a href=&quot;/index.php?title=Benutzer_Diskussion:Admin&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Benutzer Diskussion:Admin (Seite nicht vorhanden)&quot;&gt;Diskussion&lt;/a&gt;) rückgängig gemacht.&lt;/p&gt;
&lt;a href=&quot;https://schwarzatal.org/index.php?title=MediaWiki:Gadget-MakerTube.js&amp;amp;diff=1342&amp;amp;oldid=1341&quot;&gt;Änderungen zeigen&lt;/a&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://schwarzatal.org/index.php?title=MediaWiki:Gadget-MakerTube.js&amp;diff=1341&amp;oldid=prev</id>
		<title>Admin am 19. September 2026 um 18:09 Uhr</title>
		<link rel="alternate" type="text/html" href="https://schwarzatal.org/index.php?title=MediaWiki:Gadget-MakerTube.js&amp;diff=1341&amp;oldid=prev"/>
		<updated>2026-09-19T18:09:18Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://schwarzatal.org/index.php?title=MediaWiki:Gadget-MakerTube.js&amp;amp;diff=1341&amp;amp;oldid=1340&quot;&gt;Änderungen zeigen&lt;/a&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://schwarzatal.org/index.php?title=MediaWiki:Gadget-MakerTube.js&amp;diff=1340&amp;oldid=prev</id>
		<title>Admin: Die Seite wurde neu angelegt: „/**  * Gadget-MakerTube.js  * ============================================================================  * Bettet Videos von makertube.net ein (eine PeerTube-Instanz).  *  * ZWEI-KLICK-SPERRE  * Der Player liegt auf makertube.net. Beim Laden erfährt der Server die  * IP-Adresse des Besuchers. Deshalb erscheint zuerst eine Vorschaubox; erst  * der Klick baut die Verbindung auf. Auf Wunsch merkt sich der Browser die  * Freigabe für die laufende Sitzung…“</title>
		<link rel="alternate" type="text/html" href="https://schwarzatal.org/index.php?title=MediaWiki:Gadget-MakerTube.js&amp;diff=1340&amp;oldid=prev"/>
		<updated>2026-09-19T18:08:41Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „/**  * Gadget-MakerTube.js  * ============================================================================  * Bettet Videos von makertube.net ein (eine PeerTube-Instanz).  *  * ZWEI-KLICK-SPERRE  * Der Player liegt auf makertube.net. Beim Laden erfährt der Server die  * IP-Adresse des Besuchers. Deshalb erscheint zuerst eine Vorschaubox; erst  * der Klick baut die Verbindung auf. Auf Wunsch merkt sich der Browser die  * Freigabe für die laufende Sitzung…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/**&lt;br /&gt;
 * Gadget-MakerTube.js&lt;br /&gt;
 * ============================================================================&lt;br /&gt;
 * Bettet Videos von makertube.net ein (eine PeerTube-Instanz).&lt;br /&gt;
 *&lt;br /&gt;
 * ZWEI-KLICK-SPERRE&lt;br /&gt;
 * Der Player liegt auf makertube.net. Beim Laden erfährt der Server die&lt;br /&gt;
 * IP-Adresse des Besuchers. Deshalb erscheint zuerst eine Vorschaubox; erst&lt;br /&gt;
 * der Klick baut die Verbindung auf. Auf Wunsch merkt sich der Browser die&lt;br /&gt;
 * Freigabe für die laufende Sitzung (sessionStorage – kein Cookie, kein&lt;br /&gt;
 * Banner); sie endet mit dem Schließen des Browsers.&lt;br /&gt;
 *&lt;br /&gt;
 * PEER-TO-PEER (das eigentliche Prinzip von PeerTube)&lt;br /&gt;
 * PeerTube verteilt Videos nicht nur vom Server, sondern auch zwischen den&lt;br /&gt;
 * Zuschauern (WebTorrent). Das entlastet kleine Instanzen – und macht die&lt;br /&gt;
 * IP-Adresse für die anderen Zuschauer desselben Videos sichtbar. Weil das&lt;br /&gt;
 * eine echte Abwägung ist, entscheidet sie der Besucher selbst: in der&lt;br /&gt;
 * Vorschaubox steht ein zweites Häkchen dafür.&lt;br /&gt;
 *&lt;br /&gt;
 * Voreinstellung je Video über data-p2p:&lt;br /&gt;
 *   nicht gesetzt / &amp;quot;0&amp;quot;  =&amp;gt; Häkchen ist zu Beginn leer (Standard)&lt;br /&gt;
 *   &amp;quot;1&amp;quot;                  =&amp;gt; Häkchen ist zu Beginn gesetzt; sinnvoll bei&lt;br /&gt;
 *                           Videos mit erwartbarem Zulauf, wo das Teilen&lt;br /&gt;
 *                           tatsächlich etwas bringt&lt;br /&gt;
 * Der Besucher kann es in beide Richtungen ändern – data-p2p legt nur fest,&lt;br /&gt;
 * was vorausgewählt ist, nie was passiert.&lt;br /&gt;
 *&lt;br /&gt;
 * EINBINDUNG AUF EINER SEITE&lt;br /&gt;
 *   &amp;lt;div class=&amp;quot;makertube-embed&amp;quot; data-video=&amp;quot;a1b2c3d4-…&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
 *&lt;br /&gt;
 * data-Attribute:&lt;br /&gt;
 *   data-video   Pflicht. UUID oder Kurzkennung aus der Adresse des Videos&lt;br /&gt;
 *                (der Teil hinter /w/ bzw. /videos/watch/).&lt;br /&gt;
 *   data-width   Breite in Pixeln (Standard 560). &amp;quot;100%&amp;quot; ist erlaubt.&lt;br /&gt;
 *   data-height  Höhe in Pixeln (Standard 315).&lt;br /&gt;
 *   data-titel   Überschrift der Vorschaubox (Standard: &amp;quot;Video&amp;quot;).&lt;br /&gt;
 *   data-p2p     &amp;quot;1&amp;quot; =&amp;gt; Teilen-Häkchen ist vorausgewählt (Standard: leer).&lt;br /&gt;
 *   data-start   Startzeit in Sekunden.&lt;br /&gt;
 * ============================================================================&lt;br /&gt;
 */&lt;br /&gt;
( function () {&lt;br /&gt;
	&amp;#039;use strict&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
	var INSTANZ = &amp;#039;https://makertube.net&amp;#039;;&lt;br /&gt;
	var STD_BREITE = 560;&lt;br /&gt;
	var STD_HOEHE = 315;&lt;br /&gt;
&lt;br /&gt;
	var SPEICHER = &amp;#039;wiki-freigabe-makertube&amp;#039;;&lt;br /&gt;
	var SPEICHER_P2P = &amp;#039;wiki-makertube-p2p&amp;#039;;&lt;br /&gt;
	var DATENSCHUTZ = &amp;#039;https://makertube.net/about/instance&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
	/* Noch gesperrte Einbettungen dieser Seite – damit ein &amp;quot;merken&amp;quot;-Klick&lt;br /&gt;
	 * auch weitere Videos derselben Seite gleich mitfreigibt. */&lt;br /&gt;
	var wartende = [];&lt;br /&gt;
&lt;br /&gt;
	function freigegeben() {&lt;br /&gt;
		try {&lt;br /&gt;
			return window.sessionStorage.getItem( SPEICHER ) === &amp;#039;ja&amp;#039;;&lt;br /&gt;
		} catch ( e ) {&lt;br /&gt;
			return false; // privater Modus o.Ä.: dann eben jedes Mal fragen&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function setzeFreigabe( ja ) {&lt;br /&gt;
		try {&lt;br /&gt;
			if ( ja ) {&lt;br /&gt;
				window.sessionStorage.setItem( SPEICHER, &amp;#039;ja&amp;#039; );&lt;br /&gt;
			} else {&lt;br /&gt;
				window.sessionStorage.removeItem( SPEICHER );&lt;br /&gt;
			}&lt;br /&gt;
		} catch ( e ) {}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/* Gemerkte P2P-Entscheidung: true, false – oder null, wenn der Besucher&lt;br /&gt;
	 * in dieser Sitzung noch nichts entschieden hat. */&lt;br /&gt;
	function gemerktesP2p() {&lt;br /&gt;
		try {&lt;br /&gt;
			var wert = window.sessionStorage.getItem( SPEICHER_P2P );&lt;br /&gt;
			if ( wert === &amp;#039;ja&amp;#039; ) {&lt;br /&gt;
				return true;&lt;br /&gt;
			}&lt;br /&gt;
			if ( wert === &amp;#039;nein&amp;#039; ) {&lt;br /&gt;
				return false;&lt;br /&gt;
			}&lt;br /&gt;
		} catch ( e ) {}&lt;br /&gt;
		return null;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function setzeP2p( ja, merken ) {&lt;br /&gt;
		try {&lt;br /&gt;
			if ( !merken ) {&lt;br /&gt;
				window.sessionStorage.removeItem( SPEICHER_P2P );&lt;br /&gt;
			} else {&lt;br /&gt;
				window.sessionStorage.setItem( SPEICHER_P2P, ja ? &amp;#039;ja&amp;#039; : &amp;#039;nein&amp;#039; );&lt;br /&gt;
			}&lt;br /&gt;
		} catch ( e ) {}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function gibAlleFrei( p2p ) {&lt;br /&gt;
		var liste = wartende.slice();&lt;br /&gt;
		wartende.length = 0;&lt;br /&gt;
		liste.forEach( function ( fn ) {&lt;br /&gt;
			fn( p2p );&lt;br /&gt;
		} );&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function stil( el, regeln ) {&lt;br /&gt;
		var name;&lt;br /&gt;
		for ( name in regeln ) {&lt;br /&gt;
			el.style[ name ] = regeln[ name ];&lt;br /&gt;
		}&lt;br /&gt;
		return el;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function masszahl( wert, standard ) {&lt;br /&gt;
		if ( wert === undefined || wert === null || wert === &amp;#039;&amp;#039; ) {&lt;br /&gt;
			return standard + &amp;#039;px&amp;#039;;&lt;br /&gt;
		}&lt;br /&gt;
		var text = String( wert ).trim();&lt;br /&gt;
		return /^\d+$/.test( text ) ? text + &amp;#039;px&amp;#039; : text;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function baueUrl( cfg, p2p ) {&lt;br /&gt;
		var url = INSTANZ + &amp;#039;/videos/embed/&amp;#039; + encodeURIComponent( cfg.id ) +&lt;br /&gt;
			&amp;#039;?p2p=&amp;#039; + ( p2p ? &amp;#039;1&amp;#039; : &amp;#039;0&amp;#039; ) +&lt;br /&gt;
			&amp;#039;&amp;amp;warningTitle=0&amp;#039;;&lt;br /&gt;
		if ( cfg.start ) {&lt;br /&gt;
			url += &amp;#039;&amp;amp;start=&amp;#039; + encodeURIComponent( cfg.start );&lt;br /&gt;
		}&lt;br /&gt;
		return url;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/* --- Vorschaubox (noch nichts geladen) ------------------------------ */&lt;br /&gt;
	function sperre( container, cfg ) {&lt;br /&gt;
		var erledigt = false;&lt;br /&gt;
&lt;br /&gt;
		container.textContent = &amp;#039;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
		var box = stil( document.createElement( &amp;#039;div&amp;#039; ), {&lt;br /&gt;
			border: &amp;#039;1px solid #a2a9b1&amp;#039;,&lt;br /&gt;
			borderRadius: &amp;#039;2px&amp;#039;,&lt;br /&gt;
			background: &amp;#039;#f8f9fa&amp;#039;,&lt;br /&gt;
			padding: &amp;#039;1em&amp;#039;,&lt;br /&gt;
			maxWidth: &amp;#039;42em&amp;#039;,&lt;br /&gt;
			boxSizing: &amp;#039;border-box&amp;#039;&lt;br /&gt;
		} );&lt;br /&gt;
		box.className = &amp;#039;makertube-embed-sperre&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
		var kopf = stil( document.createElement( &amp;#039;div&amp;#039; ), {&lt;br /&gt;
			fontWeight: &amp;#039;bold&amp;#039;,&lt;br /&gt;
			fontSize: &amp;#039;108%&amp;#039;,&lt;br /&gt;
			marginBottom: &amp;#039;0.4em&amp;#039;&lt;br /&gt;
		} );&lt;br /&gt;
		kopf.textContent = cfg.titel + &amp;#039; auf MakerTube&amp;#039;;&lt;br /&gt;
		box.appendChild( kopf );&lt;br /&gt;
&lt;br /&gt;
		var text = stil( document.createElement( &amp;#039;p&amp;#039; ), { margin: &amp;#039;0.4em 0&amp;#039; } );&lt;br /&gt;
		text.textContent = &amp;#039;Das Video liegt auf makertube.net, einer unabhängigen &amp;#039; +&lt;br /&gt;
			&amp;#039;PeerTube-Instanz. Beim Abspielen erfährt dieser Server deine &amp;#039; +&lt;br /&gt;
			&amp;#039;IP-Adresse und welches Video du ansiehst. Vor deinem Klick wird &amp;#039; +&lt;br /&gt;
			&amp;#039;nichts dorthin übertragen.&amp;#039;;&lt;br /&gt;
		box.appendChild( text );&lt;br /&gt;
&lt;br /&gt;
		/* --- Häkchen 1: Peer-to-Peer --- */&lt;br /&gt;
		var hakenP2p = document.createElement( &amp;#039;input&amp;#039; );&lt;br /&gt;
		hakenP2p.type = &amp;#039;checkbox&amp;#039;;&lt;br /&gt;
		hakenP2p.checked = cfg.p2pVorgewaehlt;&lt;br /&gt;
&lt;br /&gt;
		var p2pLabel = stil( document.createElement( &amp;#039;label&amp;#039; ), {&lt;br /&gt;
			display: &amp;#039;block&amp;#039;,&lt;br /&gt;
			margin: &amp;#039;0.9em 0 0.2em 0&amp;#039;,&lt;br /&gt;
			fontSize: &amp;#039;92%&amp;#039;&lt;br /&gt;
		} );&lt;br /&gt;
		p2pLabel.appendChild( hakenP2p );&lt;br /&gt;
		p2pLabel.appendChild( document.createTextNode(&lt;br /&gt;
			&amp;#039; Bandbreite mit anderen Zuschauern teilen (Peer-to-Peer)&amp;#039;&lt;br /&gt;
		) );&lt;br /&gt;
		box.appendChild( p2pLabel );&lt;br /&gt;
&lt;br /&gt;
		var p2pHinweis = stil( document.createElement( &amp;#039;div&amp;#039; ), {&lt;br /&gt;
			fontSize: &amp;#039;85%&amp;#039;,&lt;br /&gt;
			marginLeft: &amp;#039;1.7em&amp;#039;,&lt;br /&gt;
			marginBottom: &amp;#039;0.3em&amp;#039;&lt;br /&gt;
		} );&lt;br /&gt;
&lt;br /&gt;
		function zeigeP2pHinweis() {&lt;br /&gt;
			if ( hakenP2p.checked ) {&lt;br /&gt;
				p2pHinweis.style.color = &amp;#039;#b32424&amp;#039;;&lt;br /&gt;
				p2pHinweis.textContent = &amp;#039;So ist PeerTube gedacht: du lädst Teile &amp;#039; +&lt;br /&gt;
					&amp;#039;des Videos von anderen Zuschauern und gibst sie weiter, was &amp;#039; +&lt;br /&gt;
					&amp;#039;die Instanz entlastet. Dabei wird deine IP-Adresse für diese &amp;#039; +&lt;br /&gt;
					&amp;#039;anderen Zuschauer sichtbar.&amp;#039;;&lt;br /&gt;
			} else {&lt;br /&gt;
				p2pHinweis.style.color = &amp;#039;#54595d&amp;#039;;&lt;br /&gt;
				p2pHinweis.textContent = &amp;#039;Ohne Häkchen lädst du ausschließlich vom &amp;#039; +&lt;br /&gt;
					&amp;#039;Server von makertube.net; andere Zuschauer sehen deine &amp;#039; +&lt;br /&gt;
					&amp;#039;IP-Adresse nicht.&amp;#039;;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		zeigeP2pHinweis();&lt;br /&gt;
		hakenP2p.addEventListener( &amp;#039;change&amp;#039;, zeigeP2pHinweis );&lt;br /&gt;
		box.appendChild( p2pHinweis );&lt;br /&gt;
&lt;br /&gt;
		/* --- Häkchen 2: für die Sitzung merken --- */&lt;br /&gt;
		var hakenMerken = document.createElement( &amp;#039;input&amp;#039; );&lt;br /&gt;
		hakenMerken.type = &amp;#039;checkbox&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
		var merkenLabel = stil( document.createElement( &amp;#039;label&amp;#039; ), {&lt;br /&gt;
			display: &amp;#039;block&amp;#039;,&lt;br /&gt;
			margin: &amp;#039;0.7em 0&amp;#039;,&lt;br /&gt;
			fontSize: &amp;#039;92%&amp;#039;&lt;br /&gt;
		} );&lt;br /&gt;
		merkenLabel.appendChild( hakenMerken );&lt;br /&gt;
		merkenLabel.appendChild( document.createTextNode(&lt;br /&gt;
			&amp;#039; Diese Entscheidung für die Sitzung merken – gilt dann samt &amp;#039; +&lt;br /&gt;
			&amp;#039;Teilen-Einstellung für alle MakerTube-Videos im Wiki und endet, &amp;#039; +&lt;br /&gt;
			&amp;#039;sobald du den Browser schließt. Es wird kein Cookie gesetzt.&amp;#039;&lt;br /&gt;
		) );&lt;br /&gt;
		box.appendChild( merkenLabel );&lt;br /&gt;
&lt;br /&gt;
		var knopf = stil( document.createElement( &amp;#039;button&amp;#039; ), {&lt;br /&gt;
			cursor: &amp;#039;pointer&amp;#039;,&lt;br /&gt;
			padding: &amp;#039;0.4em 0.9em&amp;#039;,&lt;br /&gt;
			fontWeight: &amp;#039;bold&amp;#039;&lt;br /&gt;
		} );&lt;br /&gt;
		knopf.type = &amp;#039;button&amp;#039;;&lt;br /&gt;
		knopf.textContent = &amp;#039;Video laden und abspielen&amp;#039;;&lt;br /&gt;
		box.appendChild( stil( document.createElement( &amp;#039;div&amp;#039; ),&lt;br /&gt;
			{ margin: &amp;#039;0.7em 0&amp;#039; } ) ).appendChild( knopf );&lt;br /&gt;
&lt;br /&gt;
		var fuss = stil( document.createElement( &amp;#039;div&amp;#039; ), {&lt;br /&gt;
			fontSize: &amp;#039;85%&amp;#039;,&lt;br /&gt;
			color: &amp;#039;#54595d&amp;#039;,&lt;br /&gt;
			marginTop: &amp;#039;0.6em&amp;#039;&lt;br /&gt;
		} );&lt;br /&gt;
		var dsLink = document.createElement( &amp;#039;a&amp;#039; );&lt;br /&gt;
		dsLink.href = DATENSCHUTZ;&lt;br /&gt;
		dsLink.target = &amp;#039;_blank&amp;#039;;&lt;br /&gt;
		dsLink.rel = &amp;#039;noopener&amp;#039;;&lt;br /&gt;
		dsLink.textContent = &amp;#039;Über die Instanz makertube.net&amp;#039;;&lt;br /&gt;
		fuss.appendChild( dsLink );&lt;br /&gt;
		fuss.appendChild( document.createTextNode( &amp;#039; · &amp;#039; ) );&lt;br /&gt;
&lt;br /&gt;
		var direkt = document.createElement( &amp;#039;a&amp;#039; );&lt;br /&gt;
		direkt.href = INSTANZ + &amp;#039;/w/&amp;#039; + cfg.id;&lt;br /&gt;
		direkt.target = &amp;#039;_blank&amp;#039;;&lt;br /&gt;
		direkt.rel = &amp;#039;noopener&amp;#039;;&lt;br /&gt;
		direkt.textContent = &amp;#039;Stattdessen direkt auf MakerTube ansehen&amp;#039;;&lt;br /&gt;
		fuss.appendChild( direkt );&lt;br /&gt;
		box.appendChild( fuss );&lt;br /&gt;
&lt;br /&gt;
		container.appendChild( box );&lt;br /&gt;
&lt;br /&gt;
		function freigeben( p2p ) {&lt;br /&gt;
			if ( erledigt ) {&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
			erledigt = true;&lt;br /&gt;
			lade( container, cfg, p2p );&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		wartende.push( freigeben );&lt;br /&gt;
&lt;br /&gt;
		knopf.addEventListener( &amp;#039;click&amp;#039;, function () {&lt;br /&gt;
			var p2p = hakenP2p.checked;&lt;br /&gt;
			if ( hakenMerken.checked ) {&lt;br /&gt;
				setzeFreigabe( true );&lt;br /&gt;
				setzeP2p( p2p, true );&lt;br /&gt;
				gibAlleFrei( p2p );&lt;br /&gt;
			} else {&lt;br /&gt;
				freigeben( p2p );&lt;br /&gt;
			}&lt;br /&gt;
		} );&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/* --- Geladener Player ----------------------------------------------- */&lt;br /&gt;
	function lade( container, cfg, p2p ) {&lt;br /&gt;
		container.textContent = &amp;#039;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
		var iframe = document.createElement( &amp;#039;iframe&amp;#039; );&lt;br /&gt;
		iframe.src = baueUrl( cfg, p2p );&lt;br /&gt;
		iframe.title = cfg.titel;&lt;br /&gt;
		iframe.setAttribute( &amp;#039;frameborder&amp;#039;, &amp;#039;0&amp;#039; );&lt;br /&gt;
		iframe.setAttribute( &amp;#039;allowfullscreen&amp;#039;, &amp;#039;allowfullscreen&amp;#039; );&lt;br /&gt;
		iframe.setAttribute( &amp;#039;allow&amp;#039;, &amp;#039;fullscreen; picture-in-picture&amp;#039; );&lt;br /&gt;
		iframe.setAttribute( &amp;#039;sandbox&amp;#039;,&lt;br /&gt;
			&amp;#039;allow-same-origin allow-scripts allow-popups allow-forms&amp;#039; );&lt;br /&gt;
		iframe.setAttribute( &amp;#039;referrerpolicy&amp;#039;, &amp;#039;no-referrer&amp;#039; );&lt;br /&gt;
		stil( iframe, {&lt;br /&gt;
			width: cfg.breite,&lt;br /&gt;
			maxWidth: &amp;#039;100%&amp;#039;,&lt;br /&gt;
			height: cfg.hoehe,&lt;br /&gt;
			border: &amp;#039;0&amp;#039;&lt;br /&gt;
		} );&lt;br /&gt;
		container.appendChild( iframe );&lt;br /&gt;
&lt;br /&gt;
		var fuss = stil( document.createElement( &amp;#039;div&amp;#039; ), {&lt;br /&gt;
			fontSize: &amp;#039;85%&amp;#039;,&lt;br /&gt;
			color: &amp;#039;#54595d&amp;#039;,&lt;br /&gt;
			marginTop: &amp;#039;0.4em&amp;#039;&lt;br /&gt;
		} );&lt;br /&gt;
		fuss.appendChild( document.createTextNode(&lt;br /&gt;
			p2p ? &amp;#039;Peer-to-Peer ist eingeschaltet. · &amp;#039; :&lt;br /&gt;
				&amp;#039;Peer-to-Peer ist abgeschaltet. · &amp;#039;&lt;br /&gt;
		) );&lt;br /&gt;
&lt;br /&gt;
		var zurueck = document.createElement( &amp;#039;a&amp;#039; );&lt;br /&gt;
		zurueck.href = &amp;#039;#&amp;#039;;&lt;br /&gt;
		zurueck.textContent = &amp;#039;Verbindung zu makertube.net wieder sperren&amp;#039;;&lt;br /&gt;
		zurueck.addEventListener( &amp;#039;click&amp;#039;, function ( e ) {&lt;br /&gt;
			e.preventDefault();&lt;br /&gt;
			setzeFreigabe( false );&lt;br /&gt;
			setzeP2p( false, false );&lt;br /&gt;
			sperre( container, cfg );&lt;br /&gt;
		} );&lt;br /&gt;
		fuss.appendChild( zurueck );&lt;br /&gt;
		container.appendChild( fuss );&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	/* --- Einstieg -------------------------------------------------------- */&lt;br /&gt;
	function baueEinbettung( container ) {&lt;br /&gt;
		var $c = $( container );&lt;br /&gt;
		var id = $.trim( String( $c.data( &amp;#039;video&amp;#039; ) || &amp;#039;&amp;#039; ) );&lt;br /&gt;
&lt;br /&gt;
		if ( !id ) {&lt;br /&gt;
			container.textContent = &amp;#039;MakerTube-Einbettung: kein data-video angegeben.&amp;#039;;&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var cfg = {&lt;br /&gt;
			id: id,&lt;br /&gt;
			titel: $.trim( String( $c.data( &amp;#039;titel&amp;#039; ) || &amp;#039;&amp;#039; ) ) || &amp;#039;Video&amp;#039;,&lt;br /&gt;
			breite: masszahl( $c.data( &amp;#039;width&amp;#039; ), STD_BREITE ),&lt;br /&gt;
			hoehe: masszahl( $c.data( &amp;#039;height&amp;#039; ), STD_HOEHE ),&lt;br /&gt;
			p2pVorgewaehlt: String( $c.data( &amp;#039;p2p&amp;#039; ) || &amp;#039;&amp;#039; ) === &amp;#039;1&amp;#039;,&lt;br /&gt;
			start: $.trim( String( $c.data( &amp;#039;start&amp;#039; ) || &amp;#039;&amp;#039; ) )&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		if ( freigegeben() ) {&lt;br /&gt;
			// Gemerkte Entscheidung des Besuchers schlägt die Seiten-Vorauswahl.&lt;br /&gt;
			var gemerkt = gemerktesP2p();&lt;br /&gt;
			lade( container, cfg,&lt;br /&gt;
				gemerkt === null ? cfg.p2pVorgewaehlt : gemerkt );&lt;br /&gt;
		} else {&lt;br /&gt;
			sperre( container, cfg );&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	$( function () {&lt;br /&gt;
		$( &amp;#039;.makertube-embed&amp;#039; ).each( function () {&lt;br /&gt;
			try {&lt;br /&gt;
				baueEinbettung( this );&lt;br /&gt;
			} catch ( e ) {&lt;br /&gt;
				this.textContent = &amp;#039;MakerTube-Video konnte nicht geladen werden.&amp;#039;;&lt;br /&gt;
				if ( window.mw &amp;amp;&amp;amp; mw.log ) {&lt;br /&gt;
					mw.log.error( e );&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		} );&lt;br /&gt;
	} );&lt;br /&gt;
&lt;br /&gt;
}() );&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>