Ir para conteúdo
Fórum Script Brasil
  • 0

salvar e atualizar html e visualizar html


androide

Pergunta

Pessoal boa tarde, sou eu novamente.

Estou tentando salvar o conteudo do meu editor web que fiz em javascript, utilizei execcomand para "salvar como", até ai tudo bem, só que na hora de atualizar da erro, queria uma forma de salvar e atualizar num diretório padrão sem aparecer a janela de salvar como, o usuário inseri o nome da arte no imput text e depois clica em salvar ele salva num diretório padrão, exemplo. c:\\document\artes\[variavel].html

Outra coisa, quero fazer um botão para visualizar e editar o html dentro do iframe, como faço isso? :huh:

Segue o codigo do editor com o botão salvar e o iframe.

<input type="button" value="Salvar" onclick="salvar()"/> <?echo " "; ?>
	</br>
		<center>
		<iframe id="editor" frameborder="0" src="./ferramentas/editor.html" style=" border:1px solid; width: 510px; height: 350px"></iframe>
		</center>
	</td>
Segue o codigo javascript
function salvar()
{
    window.document.getElementById('editor').contentWindow.document.execCommand('SaveAs');
}

desde já agradeço sua atenção

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0
Meu amigão, o document.write sempre o redicionará para outra página, pois ele insere um texto no final do seu arquivo HTML. Deixa eu te perguntar, você descobriu como extrair o código fonte de alguma forma?

sim Rafael, pelo javascript, utilizei innerHTML para subistituir a tag do iframe pela tag do textarea, coloquei o conteudo do iframe no textarea, até ai tudo bem, só que quando clico no botão novamente gostaria que me mostrasse o conteudo do iframe novamente, como os editores fazem normalmente, só que não estou conseguindo passar o conteudo do textarea para o iframe você pode me ajudar?

segue o codigo de onde parei do java script:

var comparativo = 1;

function html(){

if (comparativo == 1){

comparativo = 2;

conteudo = document.getElementsByTagName('iframe')[0];

document.getElementById('teste').innerHTML = "<TEXTAREA cols='60' rows='20' ID='editor_html'>" + conteudo.contentWindow.document.body.innerHTML; + "</TEXTAREA>";

}else{

comparativo = 1;

document.getElementById('teste').innerHTML = "<iframe id='editor' frameborder='0' src='./ferramentas/editor.html' style=' border:1px solid; width: 510px; height: 350px'></iframe>";

}

}

agora o codigo do html do ponto do div obs:(se testá-lo provavelmente não poderá ver as tags html pois o codigo javascript exibe tudo que está dentro do body, para visualizar as tags vai ter que mexer com a vonte ex negrito, itálico, etc. se inserir só o texto ele retornará só texto, mas se fizer alteraçoes na fonte ele te mostrará as alterações ex <b>teste</b> )

<input type="button" id="html" onclick="html()" value="html"/><?echo " "; ?>

</br>

<center>

<div id="teste" style="color:#00FF00">

<iframe id="editor" frameborder="0" src="./ferramentas/editor.html" style=" border:1px solid; width: 510px; height: 350px"></iframe>

</div>

</center>

</td>

Ele consegue exibir normalmente o codigo html, o que estou tendo problema é na instrução if em passar o conteudo do textarea para o iframe.

Por favor help!!!!!! isso tá me deixando doido!!!!! :wacko:

Rafael, oque precisamos para esse codigo dar certo é passar o conteudo do textarea para o iframe em forma de variável,

tentei utilizar um codigo php para colocar o conteudo do textarea num txt e abrilo com o iframe utilizando $_GET, só que vai ficar com cara de gambiarra e eu não gosto disso, quero um codigo inteligente ;)

Link para o comentário
Compartilhar em outros sites

  • 0
alguém tem idéia de como fazer isso? :huh:
Vamos lá minha gente interajam comigo!!

Peço que evite a postagem de up's conforme a regra 3.8 (ver regras).

3.8 Não é permitida a postagem de mensagens com a finalidade de manter o tópico no início da lista (up), nem de mensagens que não se refiram ao assunto do tópico (flood). Caso isso ocorra, as mensagens serão excluídas e os autores, advertidos.
Link para o comentário
Compartilhar em outros sites

  • 0

Cara, eu to quase entendendo o que você está querendo me passar.

O meu html já possui um elemento div que dentro dele altero dinamicamente o iframe e o textarea, então não há necessidade de criar um elemento via javascript, certo?

a função que você me passou utilizei diretamente dentro da função html assim:

var el = document.getElementById('editor_html');

depois tentei inserir o conteudo que está no textarea dentro do iframe com a outra instrução que me passou dessa forma:

var el = document.getElementById('editor_html');

//cont_iframe = window.frames['editor'].document.getElementById('editor_html');

document.getElementById('teste').innerHTML = "<iframe id=+el.id+" onLoad='Iniciar()' frameborder='0' src='./ferramentas/editor.html' style=' border:1px solid; width: 510px; height: 350px'></iframe>";

O codigo por completo ficou assim:

var comparativo = 1;

function html(){

if (comparativo == 1){

comparativo = 2;

conteudo = document.getElementsByTagName('iframe')[0];

document.getElementById('teste').innerHTML = "<TEXTAREA cols='60' rows='20' ID='editor_html'>" + conteudo.contentWindow.document.body.innerHTML; + "</TEXTAREA>";

}else{

comparativo = 1;

var el = document.getElementById('editor_html');

//cont_iframe = window.frames['editor].document.getElementById('editor_html');

document.getElementById('teste').innerHTML = "<iframe id="+el.id+" onLoad='Iniciar()' frameborder='0' src='./ferramentas/editor.html' style=' border:1px solid; width: 510px; height: 350px'></iframe>";

}

}

só que ainda não está dando certo, o que estou fazendo de errado?

Link para o comentário
Compartilhar em outros sites

  • 0

Pessoal eu descobir pesquisando por ai uma forma de me exibir o codigo fonte e depois retornar para o html normal sem mudar o iframe para textarea!!!

fiz um checkbox no codigo da pagina:

<input type="checkbox" id="html" onclick="html(this.checked)">HTML</input>

que executa esse java script:

var isHTMLMode = false;

function html(bMode) {

var sTmp;

isHTMLMode = bMode;

if (isHTMLMode) {

sTmp = editor.document.body.innerHTML;

editor.document.body.innerText = sTmp;

} else {

sTmp = editor.document.body.innerText;

editor.document.body.innerHTML = sTmp;

}

editor.focus();

}

Para que o código seja "perfeito" para mim, gostaria de que me mostrasse todo o codigo fonte do html não só do body.

Eu tentei por editor.document.all.innerText, mas não funcionou, se puderem me ajudar serei muito grato.

Link para o comentário
Compartilhar em outros sites

  • 0
Em 15/12/2009 at 11:00, Rafael Laurindo disse:

Você quer fazer isso apenas utilizando javascript, ou poderia ser usando o PHP também? No último caso, você teria que estar com o Apache rodando em sua máquina. EU posso te ajudar em ambos, mas preciso saber qual você precisa.

eu gostaria muito se você ensinasse recionar os 2, pois o usuario faz  alterações na pagina como clicar em um botao e adicionar uma div, so que o arquivo a ser alterado e no servidor, o meu problema e que o usuario monta um layout com divs e preciso salvar as alterações no .html que esta no servidor, e efeito que eu quero e como se fosse o editor de texto do de um site criador de sites desculpa se não conseguir se expressar bem grato desde já

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...