Come evitare che l'editor visivo modifichi il mio iframe?

18 set 2018, 16:12:05
Visualizzazioni: 303
Voti: 2

Ho inserito questo iframe e JavaScript in un articolo:

<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>

Ma ogni volta che accedo all'editor visivo, l'HTML viene modificato leggermente in un modo che il codice di example.com non riesce più a gestire:

<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>

Esiste un modo per impedire all'editor visivo di modificare un blocco di HTML?

Ho provato l'estensione per iframe ma non ha funzionato correttamente. Vorrei anche evitare di creare un plugin personalizzato per questo.

Idealmente mi piacerebbe qualcosa come <!-- NOREFORMAT --><iframe></iframe><script></script><!-- /NOREFORMAT -->.

3
Commenti

Nota che l'unico motivo per cui puoi inserire un iframe grezzo è perché sei un amministratore con la pericolosa capacità unfiltered_html. Usa invece uno shortcode per iframe e poi accoda uno script che si aggancia all'onLoad di tutti gli iframe invece di aggiungere pericolosi attributi JS inline agli script

Tom J Nowell Tom J Nowell
18 set 2018 16:15:21

È possibile consentire il tag iframe per l'editor tinyMCE, vedi https://wordpress.stackexchange.com/a/3067/170 Tuttavia penso che dovresti creare un plugin che aggiunga uno shortcode per inserirlo nel contenuto. In questo modo avrai un contenuto più valido e più facile da mantenere se in futuro dovrai modificare questo codice o rimuoverlo dal contenuto.

bueltge bueltge
12 dic 2018 14:55:33

visita il link vedi..https://wordpress.stackexchange.com/questions/243780/tinymce-removes-iframe-attributes-width-and-height

Ashvin Monpara Ashvin Monpara
14 dic 2018 06:37:46
Tutte le risposte alla domanda 1
0
    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();
}

puoi chiamarlo così [build_iframe] oppure [build_iframe source="https://blah" script_source="https://blah/blah.js']

17 dic 2018 18:58:15