Ciò funzionerà:
$("#editorContainer iframe").contents().find("body").text();
che conterrà solo il testo, e nessuno dei tag html.
UPDATE
Funziona decisamente in CKEditor demo page. Utilizzare Firefox e Firebug, andare alla console Firebug, e digitare:
$("#demoInside iframe").contents().find("body").text();
La console stampare il testo nell'editor, senza tag HTML. Assicurati di avere il selettore corretto nella tua particolare applicazione. Puoi testare il tuo selettore in questo modo:
$("#demoInside iframe").contents().find("body").length;
Che dovrebbe essere uguale a 1. Se è 0, il tuo selettore è sbagliato.
UPDATE 2
Ancora una volta, il mio codice è ancora corretto, e funziona ancora in quella pagina. Hai solo bisogno del selezionatore giusto. Nella pagina a cui sei collegato, è un <span>
con ID cke_editor1
. Quella particolare pagina non fa uso di jQuery, quindi richiede del lavoro aggiuntivo per dimostrare che questo esempio funziona. Installa FireQuery, "jqueryify" la pagina, e poi fai questo nella console di Firebug (nota che devi usare jQuery
e non $
. Ecco come funziona FireQuery).
jQuery("#cke_editor1 iframe").contents().find("body").text();
Insomma, assicuratevi di avere il diritto di selezione per raggiungere il vostro iframe. Se crei CKEditor da o <textarea>
non è importante. Finché è possibile selezionare che CKEditor inietta nel DOM, è possibile utilizzare .contents().find("body").text()
per ottenere il testo di tale iframe. Hai provato il tuo selettore jquery per vedere se .length == 1
?
fonte
2010-07-18 21:16:28
Non sembra funzionare, ottengo una stringa vuota anche se ho un testo digitato in controllo. Ho provato a sostituire #editorContainer con # editor1 poiché questo è l'ID di textarea, ma non funziona neanche. –
Demo sostituisce DIV, mentre il mio codice sostituisce TEXTAREA. Potresti dirmi quale selettore utilizzare nella pagina di esempio di CKEditor: http://nightly.ckeditor.com/latest/ckeditor/_samples/replacebyclass.html? Questo mi aiuterebbe a determinare cosa dovrei usare nel mio codice. Grazie. –
So che questa domanda è vecchia, ma sono curioso di cosa selezionare anche la val(), perché il testo .text() tira semplicemente il testo ma nessuno del codice HTML o della formattazione. – Trip