web-dev-qa-db-fra.com

Comment s'assurer que l'éditeur visuel ne gâche pas mon iframe?

J'ai cette iframe et JavaScript incorporés dans un post:

<iframe onload="fa_iframeresize.do(this);" src="https://example.com/calc.php?tp=dif&cl=beleggen&h=1&wf=19370&country=NL" scrolling="no" width="100%" style="padding:0px;margin:0px;border-width:0px;" frameborder="0">
</iframe>
<script type="text/javascript" src="//example.com/iframeResizeMe.min.js.gz"></script>

Mais chaque fois que je vais dans l'éditeur visuel, le code HTML est légèrement modifié de telle sorte que le code de example.com ne peut plus le gérer:

<iframe style="padding: 0px; margin: 0px; border-width: 0px;" src="https://example.com/calc.php?tp=dif&amp;cl=beleggen&amp;h=1&amp;wf=19370&amp;country=NL" width="100%" frameborder="0" scrolling="no">
</iframe>
<script type="text/javascript" src="//example.com/iframeResizeMe.min.js.gz"></script>

Existe-t-il un moyen d'empêcher l'éditeur visuel de modifier un bloc HTML?

J'ai essayé l'extension iframe mais cela ne l'a pas vraiment traitée correctement. J'aimerais aussi éviter de créer mon propre plugin pour cela.

Idéalement, j'aimerais par exemple <!-- NOREFORMAT --><iframe></iframe><script></script><!-- /NOREFORMAT -->.

2
guaka
    add_shortcode('custom_iframe_shortcode', 'build_iframe');
function build_iframe($atts) {
    $defaults = array(
        'source' => 'https://example.com/calc.php?tp=dif&cl=beleggen&h=1&wf=19370&country=NL',
        'script_source' => '//example.com/iframeResizeMe.min.js.gz'
    );
    $args = shortcode_atts($defaults, $atts);

    ob_start(); ?>
    <iframe onload="fa_iframeresize.do(this);" src="<?php echo $args['source']; ?>" scrolling="no" width="100%" style="padding:0px;margin:0px;border-width:0px;" frameborder="0">
    </iframe>
    <script type="text/javascript" src="<?php echo $args['script_source']; ?>"></script>
    <?php return ob_get_clean();
}

puis appelez ceci comme [build_iframe] ou [build_iframe source="https://blah" script_source="https://blah/blah.js']

1
mrben522