Changeset 8d43aa1 in Klonkt for src/assets/js/embed-player.js


Ignore:
Timestamp:
06/20/2026 04:39:28 AM (3 months ago)
Author:
roboburr <roboburr@…>
Branches:
main
Children:
8ab20b6
Parents:
e056e56
Message:

fix(player): prewarm hidden YT player (autoplay within gesture)

The YT player was only created on click (cold) → by the time it was ready
the click gesture had expired → YouTube blocked autoplay (flaky: only worked
if the player happened to be warm). Now embed-player prewarms the player as
soon as an audio-only YT embed/album renders
(pcmsAudioPlayer.prewarmYouTube), so the first click falls within the
gesture. busters audio-player.js?v=26, embed-player.js?v=15.

Co-Authored-By: Claude <noreply@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/assets/js/embed-player.js

    re056e56 r8d43aa1  
    243243      const art0 = el.querySelector('.pcms-embed-art');
    244244      if (art0) { art0.style.backgroundImage = `url('${ytThumb}')`; art0.classList.add('has-art'); }
     245      // Speler vast aanmaken → eerste klik valt binnen de user-gesture (autoplay).
     246      if (window.pcmsAudioPlayer && window.pcmsAudioPlayer.prewarmYouTube) window.pcmsAudioPlayer.prewarmYouTube();
    245247      // Haal de echte titel op (server-proxy, want YT-oEmbed heeft geen CORS) en
    246248      // toon 'm i.p.v. "YouTube".
     
    445447    countEl.textContent = ids.length + ' track' + (ids.length === 1 ? '' : 's');
    446448    if (coverImg) coverImg.src = thumb(ids[0]);
     449    // Speler vast aanmaken → eerste klik valt binnen de user-gesture (autoplay).
     450    if (window.pcmsAudioPlayer && window.pcmsAudioPlayer.prewarmYouTube) window.pcmsAudioPlayer.prewarmYouTube();
    447451
    448452    olEl.innerHTML = ids.map((id, i) =>
Note: See TracChangeset for help on using the changeset viewer.