fix: Elementor e-youtube-base widget erkennen (v1.4.2)

Das YouTube-video auf der startseite ist kein .elementor-widget-video, sondern
Elementors neueres element <div class="e-youtube-base" data-e-type="e-youtube"
data-settings='{"source":"https://www.youtube.com/watch?v=..."}'>. Daher griff
weder server-autodetect (kein iframe) noch mein client-handler -> leere box.

- selektor erweitert um .e-youtube-base/.e-vimeo-base und
  [data-e-type^="e-youtube"|"e-vimeo"].
- URL-extraktion liest jetzt auch den key "source" (und "url").
An der echten data-settings der live-seite verifiziert.

+ version 1.4.2 (assets cache-busting).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
s4luorth
2026-06-08 13:15:53 +02:00
parent 1ce9f8121b
commit 176ded0228
2 changed files with 5 additions and 4 deletions

View File

@@ -288,7 +288,7 @@
try {
const s = JSON.parse( ds || '{}' );
const u = s.youtube_url || s.vimeo_url || s.video_url || s.external_url
|| s.hosted_url || ( s.link && s.link.url ) || '';
|| s.hosted_url || s.source || s.url || ( s.link && s.link.url ) || '';
if ( u ) return u;
} catch ( e ) { /* not JSON / no keys */ }
@@ -316,7 +316,8 @@
* consent placeholder before that happens. */
function handleElementorVideos() {
const widgets = document.querySelectorAll(
'.elementor-widget-video, .elementor-widget[data-widget_type^="video"]'
'.elementor-widget-video, .elementor-widget[data-widget_type^="video"], '
+ '.e-youtube-base, .e-vimeo-base, [data-e-type^="e-youtube"], [data-e-type^="e-vimeo"]'
);
widgets.forEach( function ( widget ) {
const container = widget.querySelector( '.elementor-widget-container' ) || widget;