• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Gonçalo_ssb

Janela PopUp com código HTML

8 mensagens neste tópico

Boa tarde,

Estou a tentar efectuar a pré-visualização de uma newsletter e como tal gostaria de colocar um link que me abrisse uma janela popup com a newsletter em código HTML.

Eu tenho algo do género

<a href="javascript:abreJanela('<html><body><h1>teste</h1></body></html>')">Pré visualizar</a>

Alguem me pode dizer como abro uma janela em popup e que me apereca o codigo HTML que coloco na invocação da função?

Obrigado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não podes enviar o código como fonte da janela que abres.

Mas podes abrir a janela e escrever lá para dentro.

Algo assim (de cabeça):

var janela = window.open();

janela.document.write ('<html> ... </html>');

Se bem que a solução mais simples (e mais correcta) é teres a newsletter numa página e fazeres window.open do endereço da newsletter.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se tiveres o código num ficheiro externo, ou acessível através de outro ficheiro, podes usar jquery ou lightwindow por exemplo para carregar um preview numa iframe como popup ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não podes enviar o código como fonte da janela que abres.

Mas podes abrir a janela e escrever lá para dentro.

Algo assim (de cabeça):

var janela = window.open();

janela.document.write ('<html> ... </html>');

Se bem que a solução mais simples (e mais correcta) é teres a newsletter numa página e fazeres window.open do endereço da newsletter.

O objectivo é passar o código por variavél ou seja a função irá conter uma variavél de entrada (contém HTML) e que depois permite escrever da forma que indicaste.

Será possiél fazer isto?

<a href="javascript:abreJanela('<html><body><h1>teste</h1></body></html>')">Pré visualizar</a>

function abreJanela(html)

{

var janela = window.open();

janela.document.write (html);

}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim, possível é. Tens várias formas de o fazer, até podes invocar uma páginas especifica que recebe o código HTML por parâmetro, tipo "url.pt?pagina=<html>...</html>"...

Há várias formas de fazer isso, mas se tens uma página dinâmica podes colocar a tua aplicação a servir o HTML da newsletter mediante um url especifico.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bom dia,

Podes-me dar um exemplo da tua ideia, pois pelo que estou a perceber vou deixar de ter uma janela popup e isso eu não quero. Contudo da maneira que estava a tentar fazer o resultado é o esperado mas estou com um problema...

Ao chamar o meu código HTML vindo da base de dados este possui "" (aspas) e a chamada à minha função fica corrompida. Existe alguma forma de contornar este problema?

<a HREF="javascript:VisualizaNewsletter('<html><head><title></title></head><body>
			<table width="100%" border="0" align="center"><tr>
			<td colspan="2"><strong>As Bibliotecas de Praia estão de volta</strong></td></tr>
			</table></body></html>')" title="Visualizar Newsletter">
			<img src='images/visualizar_news.jpg' border='0' /></a>

function VisualizaNewsletter(html)
{

var janela = window.open('','','width=800,height=600,toolbar=no,scrollbars=no,resizable=no,top=100,left=100');
janela.document.write (html);
}	

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A ideia é simples:

1. Abres uma popup com um endereço para uma página que existe e passas o código como argumento, e.g. open('newsletter.html?pagina=<html>...</html'); (não esquecer de que pode ser necessário encoding).

2. A página newsletter.html recebe o argumento e manda escrever o conteúdo do mesmo com "document.write(valor_do_parametro_pagina)"

Tens aqui informação útil:

- http://www.developertutorials.com/tutorials/javascript/external-javascript-files-060816/page1.html

- http://www.google.pt/url?sa=t&source=web&ct=res&cd=1&url=http%3A%2F%2Fwww.experts-exchange.com%2FProgramming%2FLanguages%2FScripting%2FJavaScript%2FQ_24370089.html&ei=gF1cStOMFt3RjAe08rzRDw&usg=AFQjCNGFCwgtmWj1NDR69zayO28Wq42Jrg&sig2=8fpb2_05KcgeRTisHc4Dhg

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora