Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lukoBR

[Resolvido] Problema com web editor autoritário

Recommended Posts

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();">
/* o primeiro iframe contem o texto formatado, e o segundo o HTML */
	<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>

As tags não estão com os conformes do W3C, pois estão em maiusculas, e eu não tive tempo de editar.

 

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.