Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, estou criando um editor para usar, no estilo tinyMCE, mas estou com um problema. Abaixo o código e a dúvida:
Javascript do editor
function actDo(cmd, obj, opt) { /* Executa a ação, por exemplo colocar o texto em negrito */
editorIfr.document.execCommand(cmd,"",opt);
editorIfr.focus();
}
function loadEditor() {
/* Permite editar o texto no iframe */
editorIfr.document.designMode = "On";
sourceIfr.document.designMode = "On";
}
function source(obj) {
/ Toogle() exibe/esconde o iframe, evitando exibir um com o HTML e o outro com o texto formatado, juntos. /
toggle('editorIfr');
toggle('sourceIfr');
if(document.all) { /* Para IE e OPERA */
sourceIfr.document.body.innerText = editorIfr.document.body.innerHTML;
editorIfr.document.body.innerHTML = sourceIfr.document.body.innerText;
} else { /* Mozilla */
sourceIfr.document.body.textContent = editorIfr.document.body.innerHTML;
editorIfr.document.body.innerHTML = sourceIfr.document.body.textContent;
}
}
HTML do editor
<div class="editor">
/ href="javascript:;" é usado para o editor funcionar no IE, sem ele ao clicar não acontece o esperado /
<a href="javascript:;" onClick="actDo('undo')" class="icon_undo"></a>
<a href="javascript:;" onClick="actDo('redo')" class="icon_redo"></a>
<a href="javascript:;" onClick="source();" id="_source" class="icon_code"></a>
<a href="javascript:;" class="icon_preview"></a>
<a href="javascript:;" onClick="actDo('bold');" class="icon_bold"></a>
<a href="javascript:;" onClick="actDo('italic');" class="icon_italic"></a>
<a href="javascript:;" onClick="actDo('underline');" class="icon_underline"></a>
<a href="javascript:;" onClick="actDo('justifyleft');" class="icon_alignleft"></a>
<a href="javascript:;" onClick="actDo('justifycenter');" class="icon_aligncenter"></a>
<a href="javascript:;" onClick="actDo('justifyright');" class="icon_alignright"></a>
</div>
<body onLoad="Javascript:loadEditor();"> <iframe class="editorIfr" id="editorIfr" name="editorIfr" frameborder="0" style="display:block;"></iframe>
<iframe class="editorIfr" id="sourceIfr" name="sourceIfr" frameborder="0" style="display:none;"></iframe>
</body>Bom, o problema é que ao clicar no link que exibe o iframe em html, se eu editar o conteudo (por exemplo acrescentar código html) e clicar novamente para trocar para o modo não-HTML ele não grava o que eu acrescentei.
Ficou meio confuso =D
Qualquer duvida... agradeço a ajuda
Carregando comentários...