Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di Neocron
    Registrato dal
    Jul 2002
    Messaggi
    524

    [Difficilissimo] DesignMode e iFrame

    Salve ragazzi, Ho provato a modificare il codice
    di questo tutorial:
    http://pro.html.it/articoli/id_357/idcat_11/pro.html

    aggiungendo questo piccolo script:
    codice:
     
    // Link
    function addlink(){
    imput = prompt('Inserisci il testo che deve essere visualizzato per il link','');
    if ( imput != null ){
    linker = prompt("Inserisci l'url del link",'Http://');
    txt = ' <a href=\"' +  linker + '\">' +  imput + '</a>'; 
    iFrameDoc = eval(str_iFrameDoc);
    corpo = iFrameDoc.body.innerHTML;
     setFocus();
    iFrameDoc.body.innerHTML +=  txt;
     setFocus();
    }}
    Purtroppo capita che quando si chiama la funzione, il link venga scritto una riga sottostante
    dal punto di scrittura. Ho cercato di studiare il problema e sono arrivato alla conclusione che
    l'errore sia posto in questa riga : iFrameDoc.body.innerHTML += txt;
    Ogni qualvolta si vada a capo viene chiamato, nell'html dell' iFrame, un tag

    , con inizio e fine
    già stampati, durante la scrittura il testo viene inserito nel mezzo del tag. La mia funzione purtroppo
    stampa quindi dopo la fine del tag

    , richiamandone un altro. Il mio problema è capire come poter
    inserire il testo, contenuto nella variabile txt, senza oltrepassare la fine del tag e quindi non andare a capo.


    Ragazzi vi prego di aiutarmi, sono bloccato con il mio lavoro...

    Confido veramente in voi

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    così facendo non scrivi dove hai selezionato,
    ma a fine documento (parlo del documento editabile)
    e purtroppo, se ti basi sull' execCommand, ci sono certi compromessi imprescindibili (i tag

    </p> sono la punta dell' iceberg...)

    codice:
    function addlink() {
    	if (!validateMode())
    		return;
    
    	iFrameDoc = eval(str_iFrameDoc);
    	if (iFrameDoc.selection.type=="Text") {
    		var linker = prompt("Inserisci l'url del link",'http://');
    		iFrameDoc.execCommand("CreateLink",false,linker);
    	}
    	else alert('seleziona prima il testo da trasformare in collegamento!') 
    	setFocus();
    }
    ciao

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 © 2026 vBulletin Solutions, Inc. All rights reserved.