Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    execCommand, innertHTML & Co.

    Ciao ragazzi.. ho un giochino per voi.. anche perchè da solo "un gne la fo'!!!"

    Ho un IFrame con delle funzioni per formattare il testo.. Nell'Iframe vedo direttamente l'anteprima del testo, dove eseguo le selezioni per assegnare le formattazioni con execCommand.
    Tutti comandi supportati da questo metodo li trovate qui:

    http://msdn.microsoft.com/library/de...commandids.asp

    Guarda caso fra i tanti comandi che supporta questo metodo quello che voglio io non c'è: h1. Vorrei applicare semplicemente, al testo che seleziono nel IFrame , il tag <h1>testo selezionato</h1>.
    Diciamo che sono ad un passo dalla soluzione, soprattutto a causa della mia ingnoranza in javascript... vi giuro che mi sto impegnando.. non ne posso p'iù!!



    Con Iframe.body.innerHTML posso leggere e scrivere il condice html all'interno dell'Iframe.
    Con innerHTML:

    "

    ciao ragazzi come state??</p>"


    Con text prendo solo il testo:

    "ciao ragazzi come state"


    Guarda caso fra i tanti comandi che supporta questo metodo quello che voglio io non c'è: h1. Vorrei applicare semplicemente, al testo che seleziono nel IFrame , il tag h1.


    Utilizzando execCommand basta fare così:

    iFrameDoc.execCommand('bold');

    un gioco da ragazzi..., (anche perchè fa tutto proprio execCommand).


    Quindi per poter mettere il tag che voglio io pensavo di leggere il testo e l'html selezionato all'interno dell'Iframe così:

    var htmlSelez = iFrameDoc.selection.createRange().htmlText;

    attaccarci agli estremi i tag che voglio:


    htmlSelezModif = "<h1>" + htmlSelez + "</h1>";

    E poi rimetterlo da dove l'ho preso!!! E qui che non riesco ad andare avanti !!!


    Cioè con iFrameDoc.selection.createControlRange().text e iFrameDoc.selection.createRange().htmlText leggo:

    .solo il testo oppure testo e html

    Con IFrame.body.innerHTML leggo e scrivo tutto il contenuto dell' iframe.

    Non posso fare:

    IFrame.body.innerHTML = htmlSelezModif;

    perchè andrei a sostituire tutto il contenuto del frame con il testo selezionato e modificato.

    Cioè agli estremi di htmlSelezModif dovrei riattaccare tutto cio' che non avevo selezionato la prima volta!!
    Qualcuno può aiutarmi????
    Come esiste selection che riguarda ciò che è selezionato, esiste qualcosa simile a unSelection??? Cio' che non è selezionato! Mah.. so' na' sega!!

    Grazie di tutto!!! Scusate se ve la meno con queste cose cazzute!
    Ciao

    MAsta

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    in questo momento (che io sappia) puoi fare solo così
    iFrameDoc.selection.createRange().pasteHTML(htmlSe lezModif)
    purtroppo non ha nessun margine di compatibilità con mozilla

    forse usando i metodi del DOM potresti ottenere lo stesso risultato in maniera + compatibile, io finora non ci sono riuscito
    ciao

  3. #3

    Anche a me interessa.

    Come si fa ad aggiungere un pulsante che inserisca il tag che voglio?
    ad esempio.

    voglio inserire il tag <xxxxx> tramite un pulsante come il bold, italic ecc...
    MITTICCOOOOOOOOO!

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    terza discussione contemporanea sullo stesso argomento,
    questa x giunta è vecchia, chiudo

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.