Bonjour à tous,
Je fait en ce moment un petit script backend de gestion de news.
J'essaye de créer un bloc contenant la preview du message posté.
Le truc, c'est que pour être sur que le CSS de la preview (le css du front-office) n'interagisse pas avec le reste de la page en cours (backend), j'ai voulu placer le html de ma preview dans une iframe:
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <iframe id='content-preview'> <link rel='stylesheet' href='{$url}css/style.css' type='text/css' media='all'> {$preview} </iframe>
Jusque là, pas de problème.
Le problème c'est que ma variable {$preview} (qui est un fetch smarty du template des articles du frontoffice) contient des scripts javascript (SyntaxHighlight entre autre).
par exemple:
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 {if $content->message|strstr:'[code'} <script type='text/javascript' src='{$url}modules/syntaxhighlighter/scripts/shCore.js'></script> <link type='text/css' rel='stylesheet' href='{$url}modules/syntaxhighlighter/styles/shCore.css'/> <link type='text/css' rel='stylesheet' href='{$url}modules/syntaxhighlighter/styles/shThemeDefault.css'/> <script type='text/javascript'> SyntaxHighlighter.all(); </script> {/if}
Mais ce javascript n'est pas executable dans l'iframe apparement.
Autant quand il s'agit d'une iframe cross-domaine (avec un src externe) je comprends le principe de ne pas exécuter le JS, question sécurité, mais quand c'est pour une iframe interne, c'est chiant
C'est un peu comme si l'ajax ne fonctionnais ni en cross-domaine, ni sur notre propre domaine ^^'
Bref, donc, je cherche un moyen d’exécuter ces fonctions javascript dans cette iframe, une piste ?
Alternativement, je cherche une autre solution,
mais j'ai abandonné l'idée d'une popup (puisque presque tout les navigateurs les bloques maintenant), mais sinon, je suis preneur d'une autre solution si vous avez = )
Partager