world-game/site/snippets/blocks/jeu.php
isUnknown b4dfc4480e fix(jeu): src injecté au clic (about:blank initial) + event delegation
- jeu.php : iframe démarre sur about:blank, URL stockée dans data-src
- Article.svelte : event delegation sur document (plus de timeout/querySelector)
  → le src de l'iframe est injecté seulement quand l'user clique (évite l'iframe noir)
  → supprime l'ancien $effect avec setTimeout au profit d'une délégation propre

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 12:14:57 +01:00

19 lines
712 B
PHP

<?php if ($block->url()->isNotEmpty()):
$iframeUrl = preg_replace('/\s+/', '', $block->url()->value());
?>
<div class="iframe-game-container" data-src="<?= htmlspecialchars($iframeUrl, ENT_QUOTES, 'UTF-8') ?>">
<iframe
width="400"
height="650"
style="border: none; overflow: hidden; pointer-events: none; display: block; width: 100%;"
src="about:blank"
></iframe>
<div class="iframe-click-overlay" data-state="initial">
<div class="overlay-content">
<div class="play-icon">▶</div>
<p class="overlay-message">Cliquez pour jouer</p>
</div>
</div>
<button class="iframe-deactivate-btn" title="Deactivate game (restore scrolling)">✕</button>
</div>
<?php endif ?>