Visualizzazione risultati 1 fino 6 di 6

Discussione: css iframe designMode=on

  1. #1
    Guest

    Predefinito css iframe designMode=on

    Ciao a tutti! Ho un'iframe che tramite la funzione
    contentDocument.designMode="on";
    rendo editabile da web.

    Con un po di css, ho modificato i bordi e le dimensioni, ma non riesco a cambiare il carattere e la dimensione dello stesso con cui si scrive all'interno del frame.

    ecco i codici:
    CSS
    #iframe {
    border: 1px solid #CCCCCC;
    width: 100%;
    height:300;
    }

    HTML
    <iframe id="iframe"></iframe>

    grazie a tutti!

  2. #2
    Guest

    Predefinito

    Per esempio:

    #iframe {
    border: 1px solid #CCCCCC;
    width: 100%;
    height:300;
    font: 90% Arial, Helvetica, sans-serif;
    color: #000;
    }

  3. #3
    Guest

    Predefinito

    niente, non va

  4. #4
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Ricordati che seppur in designmode attivato è pur sempre un IFRAME, quindi una finestra esterna, con un proprio oggetto document distinto da quello della pagina che lo ospita.
    Quindi dovresti indicargli il suo stile esattamente come fai ad una pagina qualsiasi (indipendente).
    Puoi farlo dinamicamente tramite javascript indicando il contenuto del document.
    Incuriosito dall'argomento (implementare direttamente il wysiwyg a basso livello), che non ho mai affrontato direttamente (uso l'ottimo fckeditor) mi sono scritto questo codice in locale e funziona sia su IE che Mozilla:
    Codice HTML:
    <html>
    <head>
    <script language="javascript" type="text/javascript">
    
    function initEditFrame(){
     var cssurl = "http://www.wrestlingforum.altervista.org/style.css";
     var initcontent = '<span class="right">bla bla</span> <p>Ciao</p>';
    
     var cont = window.frames['contentDocument'];  
     window.focus();
     cont.focus();
     cont.document.designMode="on";
     cont.document.open();
     cont.document.write('<html><head> <link rel="stylesheet" type="text/css" href="');
     cont.document.write(cssurl+'"></head><body>'+initcontent+'</body></html>');
     cont.document.close();
    }
    
    </script>
    </head>
    <body onload="initEditFrame();">
    <iframe width="200" height="200" name="contentDocument" id="contentDocument"></iframe>
    </body>
    </html>
    In questo esempio vado a pescare direttamente il TUO css che hai in home
    Puoi ovviamente cambiarlo e impostare il testo iniziale del frame modificando il valore delle apposite variabili all'inizio della funzione di inizializzazione.
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  5. #5
    Guest

    Predefinito

    benissimo, grazie mille!

  6. #6
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Visto che risolto, chiudo.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •