Visualizzazione dei risultati da 1 a 4 su 4

Discussione: iframe dinamici

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    254

    iframe dinamici

    Buongiorno,
    devo moltiplicare il famoso editor HTML in più editor creando più iframe al suo interno.
    Il codice di acquisizione dell'iframe è il seguente:

    Codice PHP:
    $nome_f="f".$row[descrizione];
    ?>
    <script>
    var str_iFrameDoc = (document.all)? "document.frames(\"<?php echo $nome_f;?>\").document\;": "document.getElementById(\"<?php echo $nome_f;?>\").contentDocument\;";
    </script>
    <?php 
    ...
    ?>
    <script language="JavaScript">
            
    iFrameDoc= eval(str_iFrameDoc);
    iFrameDoc.open();
    iFrameDoc.write("<html><body MONOSPACE style='font:10pt arial,sans-serif'></body></html>");
    iFrameDoc.close();
    iFrameDoc.designMode = "On";
    </script><?php
    echo "<iframe class=\"Composition\" WIDTH=\"95%\" id=\"$nome_f\" onFocus=\"switch_iframe('Composition')\" height=\"190\">";
    echo 
    "</iframe>";
    Così funziona. Tempo fà ne avevo messi due, sdoppiando quanto vi ho appena scritto ed utilizzando due nomi diversi: iFrameDoc - iFrameDoc2 e str_iFrameDoc - str_iFrameDoc2.

    E funzionava ancora.

    Adesso devo creare n iframe con n variabile per cui non posso dare un nome a priori.
    Ho provato a mettere iFrameDoc[i] ma si blocca su iFrameDoc[i]= eval(str_iFrameDoc);

    C'è una soluzione?Suggerimenti?

    Grazie Angelo.

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Gli n iframe gestiscili lato server php cioè crei gli iframe col php id="Iframe_<? echo $id_record_univoco?>", stessa cosa eseguirai per il javascript costruendolo col php il concetto non cambierà.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    254
    Ciao e grazie, ho fatto così come dici ma c'è ancora un problema:

    Codice PHP:
    while ($row=$query->fetch_array(MYSQLI_ASSOC)) {
    $nome_f="Composition_".$row[id];
    ?>
    <script>
    var str_iFrameDoc_<?php echo $row[id];?> = (document.all)? "document.frames(\"<?php echo $nome_f?>\").document\;": "document.getElementById(\"<?php echo $nome_f?>\").contentDocument\;";
    </script>
    <?php
    ...
    ?>
    <script>
    onload = function(){
        initialize();
        }
    </script>
    <?php 
    echo "<iframe class=\"Composition\" WIDTH=\"95%\" id=\"Composition_$row[id]\" height=\"190\">";
    echo 
    "</iframe>";  
    echo 
    "<hr>";
    }
    Codice PHP:
    function initialize() {
    iFrameDoc_1 = eval(str_iFrameDoc_1);
    iFrameDoc_1.open();
    iFrameDoc_1.write("<html><body MONOSPACE style='font:10pt arial,sans-serif'></body></html>");
    iFrameDoc_1.close();
    iFrameDoc_1.designMode "On";

    iFrameDoc_2 = eval(str_iFrameDoc_2);
    iFrameDoc_2.open();
    iFrameDoc_2.write("<html><body MONOSPACE style='font:10pt arial,sans-serif'></body></html>");
    iFrameDoc_2.close();
    iFrameDoc_2.designMode "On";

    iFrameDoc_3 = eval(str_iFrameDoc_3);
    iFrameDoc_3.open();
    iFrameDoc_3.write("<html><body MONOSPACE style='font:10pt arial,sans-serif'></body></html>");
    iFrameDoc_3.close();
    iFrameDoc_3.designMode "On";

    iFrameDoc_4 = eval(str_iFrameDoc_4);
    iFrameDoc_4.open();
    iFrameDoc_4.write("<html><body MONOSPACE style='font:10pt arial,sans-serif'></body></html>");
    iFrameDoc_4.close();
    iFrameDoc_4.designMode "On";

    iFrameDoc_5 = eval(str_iFrameDoc_5);
    iFrameDoc_5.open();
    iFrameDoc_5.write("<html><body MONOSPACE style='font:10pt arial,sans-serif'></body></html>");
    iFrameDoc_5.close();
    iFrameDoc_5.designMode "On";

    Il problema è su questa funzione che va richiamata con il comando "onload". Non so perchè.
    In ogni modo così come l'ho scritta funziona ma non è ancora del tutto dinamica perchè sono obbligato ad avere al massimo 5 i frame.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    254
    In sostanza mi obbliga ad eseguirla una sola volta. C'è un modo in javascript per nominare le variabili allo stesso modo? così faccio un ciclo interno. Cioè:

    Codice PHP:
    for(i=1;i<n;i++){

    variabile."i"=...;


    così come ho fatto in php

    Codice PHP:
    id=\"Composition_$row[id]\" 

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.