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

Llaverola

window.open() DUVIDA

17 mensagens neste tópico

Ola pessoal, tenho uma duvida:

Quero fazer duma imagem um link. clicando na imagem, abre uma outra janela com essa imagem ampliada.

A imagem é usada numa macro por exemplo [%imagem1%]

Alguem me pode dizer como fazer isso?

Ou seja, pretendo clicar na imagem, abrir outra janela com a imagem correspondente a essa macro.

Sei q tem d ser feita em javascript.

FIZ ISTO E NÃO DEU:

<a href="javascript: window.open([%imagem1%]);">imagem1</a>

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se eu percebi bem, ele quer ter tipo uma imagem miniatura,e ao clicar nela, aparecer uma com o tamanho original.

Eu não faço ideia do que seja essa macro que estás a fazer, nunca ouvi tal coisa em PHP, mas se tiveres o endereço para a imagem completa, é tão simples como:

<a href="javascript:window.open('<?php echo $varQueTemLinkCompletoParaImagem; ?>');">imagem1</a>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A macro que eu falei esta em HTML...corresponde a dita imagem

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ora bem o que se passa é mm o seguinte:

tenho isto no codigo:

<td><a href="javascript:window.open('[%img3%]');">[%img3%]</a></td>

[%img3%] = <img src="ENDEREÇO">

OU SEJA, A TAG CORRESPONDE A CODIGO HTML Q N TENHO ACESSO :s

alem me pode dizer como sacar apenas o endereço dessa tag?

Juldo ser possivel ja que a macro é uma string ne?

obrigado

entendem?

Não sei se é algum problema de sintaxe...

ajudem-me please.

obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

mas que raio de explicaçao marada desculpa la mas fiquei a perceber o mesmo se mais explicito..

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ai é assim...

a macro [%img3%] = é codigo html <img src="ENDEREÇO">

entendido?

se eu puder isso dentro de uma linha de uma coluna fica bem..

O problema é q quero apenas o endereço da imagem e n o codigo html..entendido?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isto

  <script type="text/javascript">
  macro = '<img src="ENDERECO">';
  alert(macro.match(/"(.*)"/)[1]);
  </script>

dá um alerta com "ENDERECO"

É isto (ou parecido) que queres?

O que é que isto tem a ver com PHP? ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu não percebo o que é esta coisa do [%img3%].

Tenta assim

<td><a href="javascript:window.open('[%img3%]'.match(/"(.*)"/)[1])">[%img3%]</a></td>

ou sem as plicas no window.open:

<td><a href="javascript:window.open([%img3%].match(/"(.*)"/)[1])">[%img3%]</a></td>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

n ta a dar :S

[%img3%] = <img src="ENDEREÇO" border="0">

Ou seja, é uma macro que corresponde a codigo html referido na linha anterior. entendes?

O que eu quero é apenas buscar o ENDEREÇO para poder mostrar numa outra janela a imagem depois de clicar na imagem pequena..

Percebeste?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ah! Mas há bocado não tinhas o border="0" ;)

Assim, a expressão regular anterior já não funciona.

Precisas de a mudar para ter em conta as diferentes coisas que a macro ( ? ? ? ) pode ter.

Some people, when confronted with a problem, think "I know, I’ll use regular expressions." Now they have two problems.

Tendo em conta o quote acima e que eu não sou um expert em expressões regulares, experimenta isto

<td><a href="javascript:window.open([%img3%].match(/src="([^"]*)"/)[1])">[%img3%]</a></td>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ok, acho que agora já percebi, é genero de um template, certo? Mas sendo assim, isto não tem a ver com PHP, mas sim mais com HTML ou javascript.

Estava a pensar: tens oportunidade de alterar o conteúdo dessa macro? Se sim, então altera para o seguinte:

<img src="ENDEREÇO" border="0" onclick="window.open(this.src)">

Se não, terás de associar uma função que te abra uma nova janela, com todas essas imagens. O que pode ficar complicado, se não consegues alterar a macro na mesma

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

<td><a href="javascript:window.open('[%img3_url%]').match;">[%img3%]</a></td>

Pus essa linha e deu.

estranho é que se eu n puser o match, ao cliar na imagem, a pagina mãe tb muda.

Se puser o match, apenas abre a nova janela com a imagem. Mas a pagina mae mantém-se. alguem me pode explicar o porque de isso acontecer?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A cena a meu ver é que ele está a passar o link da imagem com tags HTML pq ele diz:

[%img3%] = <img src="ENDEREÇO" border="0">

nao devia ser:

[%img3%] = http://dominio.com/imagem.jpg ?

[%img3%] = <img src="ENDEREÇO">

OU SEJA, A TAG CORRESPONDE A CODIGO HTML Q N TENHO ACESSO :s

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