[3.3] [CDB][3.3] Opt-In Cookie Manager by klaro Script

In diesem Forum können Extension-Autoren ihre Extensions vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Benutzeravatar
chris1278
Mitglied
Beiträge: 4125
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: [3.3] [CDB][3.3] Opt-In Cookie Manager by klaro Script

Beitrag von chris1278 »

Für youtu.be ist doch schon ein bbcode vorhanden.

Aber imc wenn du einen bastelst mit java dann werd ich den gern in die extension aufnehmen.
Benutzeravatar
IMC
Mitglied
Beiträge: 911
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: [3.3] [CDB][3.3] Opt-In Cookie Manager by klaro Script

Beitrag von IMC »

chris1278 hat geschrieben: 14.01.2026 18:33 werde ich den gern in die extension aufnehmen.
Dafür würde ich ihn dann erstellen. Der sollte mit wenigen Zeilen zu erstellen sein. Es sei den es tun sich Untiefen und Klippen auf die ich jetzt noch nicht sehen kann.
Gruß, Thorsten

Meine Extensions
Benutzeravatar
chris1278
Mitglied
Beiträge: 4125
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: [3.3] [CDB][3.3] Opt-In Cookie Manager by klaro Script

Beitrag von chris1278 »

Kein Problem. Bin dafür auch dankbar für deine Hilfe.
Benutzeravatar
IMC
Mitglied
Beiträge: 911
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: [3.3] [CDB][3.3] Opt-In Cookie Manager by klaro Script

Beitrag von IMC »

Ich konnte mich nicht bremsen.

BBCode-Benutzung;

Code: Alles auswählen

[youtube]{URL}[/youtube]
HTML Ersetzung für deine Erweiterung:

Code: Alles auswählen

<!-- IF YOUTUBE_BBCODE_SWITCH --><div class="yt_video_layer"></div><!-- ELSE --><div class="yt_video_switch_false">{L_YOUTUBE_ADMIN}</div><!-- ELSE --><div class="yt_video_switch_false">{L_YOUTUBE_ADMIN}</div><!-- ENDIF -->
<script>
	var youtubeURL = '{URL}';
	var ytVideoAry = document.getElementsByClassName('yt_video_layer');
	var ytVideo	   = ytVideoAry[ytVideoAry.length-1];
	var strIdentifier, newYtURL;

	if (youtubeURL.includes('watch')) {
		const url = new URL(youtubeURL);
		const searchParams = new URLSearchParams(url.search);		
		strIdentifier = searchParams.get('v');
	}
	else if (youtubeURL.includes('shorts') || youtubeURL.includes('youtu.be')) {
		const url = new URL(youtubeURL);
		strIdentifier = url.pathname.substring(url.pathname.lastIndexOf('/'));
	}
	
	newYtURL  = 'https://www.youtube.com/embed/' + strIdentifier;
	ytVideo.innerHTML = '<iframe src="' + newYtURL + '" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>';
</script>
HTML Ersetzung mit der ich geteste habe:

Code: Alles auswählen

<div class="yt_video_layer"></div>
<script>
	var youtubeURL = '{URL}';
	var ytVideoAry = document.getElementsByClassName('yt_video_layer');
	var ytVideo	   = ytVideoAry[ytVideoAry.length-1];
	var strIdentifier, newYtURL;

	if (youtubeURL.includes('watch')) {
		const url = new URL(youtubeURL);
		const searchParams = new URLSearchParams(url.search);		
		strIdentifier = searchParams.get('v');
	}
	else if (youtubeURL.includes('shorts') || youtubeURL.includes('youtu.be')) {
		const url = new URL(youtubeURL);
		strIdentifier = url.pathname.substring(url.pathname.lastIndexOf('/'));
	}
	
	newYtURL  = 'https://www.youtube.com/embed/' + strIdentifier;
	ytVideo.innerHTML = '<iframe src="' + newYtURL + '" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>';
</script>
Mit diesen drei URL's funktioniert der BBCode. Wenn es noch weitere geben sollte bräuchte ich eine Info.

Code: Alles auswählen

[youtube]https://youtu.be/j90x1Be0bTY[/youtube]
[youtube]https://www.youtube.com/watch?v=k4121ownglU[/youtube]
[youtube]https://www.youtube.com/shorts/ebSFjN1POow[/youtube]
Vielleicht müsste man die Variablen noch besser isolieren. Für heute sollte das aber reichen.

Edit:
@Paul
Startzeiten funktionieren mit dem eingebetten Video nicht. Die werden ignoriert.

@Chris
Wahrscheinlich müss deine if/else Strucktur anders gesetzt werden. Teste mal ob es Fehler gibt wenn die Videos nicht erlaubt sind. Dann müsste dein erstes else hinter das letzte </script>
Gruß, Thorsten

Meine Extensions
Benutzeravatar
chris1278
Mitglied
Beiträge: 4125
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: [3.3] [CDB][3.3] Opt-In Cookie Manager by klaro Script

Beitrag von chris1278 »

Ich teste das aus und melde mich.

Aber erstmal dafür schon mal danke.
Antworten

Zurück zu „Extensions in Entwicklung“