Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    121

    IE wysiwyg editor andare a capo

    ciao a tutti... io uso wysiwyg editor... purtroppo si comporta in due modi diversi con firefox e con explorer.
    In poche parole se con firefox scrivo "ciao" e poi vado a capo e scrivo "mamma" la visualizzazione nella text area č la seguente:

    ciao
    mamma

    e il codice html corrisponde a:
    codice:
    ciao
    mamma
    in explorer invece la visualizzazione č:

    ciao

    mamma

    e il codice html
    codice:
    ciao</p>
    
    
    mamma</p>
    posso fare in modo che anche IE si comporti come firefox???
    Grazie per l'aiuto. Ciao!!

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    questo e' buttato giu' solo per IE,
    in editArea hai il riferimento all' iframe, dopo aver settato il designMode='On', aggiungi questo
    codice:
    if(document.all && !window.opera){
    	editArea.document.onkeydown = function () { 
    		if (editArea.event.keyCode == 13) {
    			var sel = editArea.document.selection;
    			if (sel.type == "Control")
    			return;
    
    			var r = sel.createRange(); 
    			r.pasteHTML("<br \/>");
    			editArea.event.cancelBubble = true; 
    			editArea.event.returnValue = false; 
    
    			r.select();
    			r.moveEnd("character", 1);
    			r.moveStart("character", 1);
    			r.collapse(false);
    
    			return false;
    		}
    	}
    }
    buon divertimento

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    121
    Scusami... ma non ho capito... dove dovrebbe essere questa EditArea...
    in wysiwyg.js???
    Potresti guidarmi passo passo?? Te ne sarei grato!!!

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    121
    Non mi puoi proprio aiutare??? Scusa se insisto ma č importante...

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ho veramente troppe cose da fare

    comunque, dov e' il tuo editor wysiwyg? lascia un link, facci vedere il codice
    mettiamo che sia una cosa del genere
    http://javascript.html.it/articoli/l...tor-wysiwyg/2/

    hai questo
    codice:
    function load(){
       AttivaFrame("editArea").designMode = "On";
    }
    puo' diventare cosi'
    codice:
    function load(){
       AttivaFrame("editArea").designMode = "On";
    if(document.all && !window.opera){
    	editArea.document.onkeydown = function () { 
    		if (editArea.event.keyCode == 13) {
    			var sel = editArea.document.selection;
    			if (sel.type == "Control")
    			return;
    
    			var r = sel.createRange(); 
    			r.pasteHTML("<br \/>");
    			editArea.event.cancelBubble = true; 
    			editArea.event.returnValue = false; 
    
    			r.select();
    			r.moveEnd("character", 1);
    			r.moveStart("character", 1);
    			r.collapse(false);
    
    			return false;
    		}
    	}
    }
    editArea e' l' id dell' iframe
    ciao

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    121
    ufff... mi sā che ci siamo fraintesi... non l'ho fatto io l'editor... uso uno giā fatto che si chiama proprio wysiwyg editor:

  7. #7
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ...
    in wysiwyg.js
    trova questo
    codice:
    	// Make the iframe editable in both Mozilla and IE
      doc.body.contentEditable = true;
      doc.designMode = "on";
    e aggiungi questo dopo
    codice:
      if(document.all && !window.opera){
    	var IEdoc=document.getElementById("wysiwyg" + n).contentWindow;
    	IEdoc.document.onkeydown = function () {
    		if (IEdoc.event.keyCode == 13) {
    			var sel = IEdoc.document.selection;
    			if (sel.type == "Control")
    			return;
    
    			var r = sel.createRange();
    			r.pasteHTML("<br \/>");
    			IEdoc.event.cancelBubble = true;
    			IEdoc.event.returnValue = false;
    
    			r.select();
    			r.moveEnd("character", 1);
    			r.moveStart("character", 1);
    			r.collapse(false);
    
    			return false;
    		}
    	}
    }
    nessuna responsabilita' da parte mia riguardo lo script,
    l' ho scritto anni fa e non ho tempo di riguardarlo, altri editor ottengono sicuramente lo stesso risultato in altri modi.

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    121
    Grazie Xinod... sembra funzionare...
    grazie e ancora grazie....

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.