Ir para conteúdo

POWERED BY:

Arquivado

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

newboxters

Abrir link em nova janela com CSS

Recommended Posts

Olá.

 

Estou tentando programar o CSS para abrir os links em uma nova janela e vejam o que fiz:

 

 

.nameclass a:link

{

voice-family: expression(this.target='_blank');

}

 

Mas não deu certo. Obs.: No firefox que testei, no IE até funciona, mas eu precisava que funcionasse também no firefox.

 

Será que eu fiz algo errado.

 

Pois dai nos links eu coloquei: <span class="nameclass"><a href="http://url.site.com">URLzaum</a></span>

 

Mas não está abrindo em uma nova janela. O que seria possível para solucionar isto?

 

Obrigado. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

exato caio... com o seguinte codigo java script:

function externalLinks() { if (!document.getElementsByTagName) return; var anchors = document.getElementsByTagName("a"); for (var i=0; i<anchors.length; i++) {  var anchor = anchors[i];  if (anchor.getAttribute("href") &&	  anchor.getAttribute("rel") == "external")	anchor.target = "_blank"; }}window.onload = externalLinks;
http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aproveitando a dúvida:Alguém sabe porque tiraram o _blank do strict? Ele tem alguma desvantagem?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existem algumas razões... XHTML é baseado em estrutura e significado, e como o documento abre não é nem estrutural ou semântico, então não entra na marcação. Outra razão é que o target="_blank" tem associação com frames, que também estão estão em desuso. B)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá. Bom, tentei utilizar o código que publicaram para abrir em uma nova janela, mas ainda não consegui, vejam:- pa_bruno: aquele código que você me passou, eu coloquei entre tags de java script:<script language="JavaScript"> </script> entre a tag body, isso está certo?E quanto ao style? Bom, enfim, então deixei o código do javascript, mas tentei colocar entre a tag style a última linha:window.onload = externalLinks;Mas de qualquer jeito não funcionou.Poderia me explicar melhor, ou me dizer em que estou errando, pois ainda sou meio base em css.Obs.: O esquema de CSS que estou utilizando é de colocar na home do site uma ref. para o cód css:<link href="style_site.php" rel="stylesheet" type="text/css">E em style_site.php, coloco o CSS de todo a página (menus, links, textos...).

Compartilhar este post


Link para o post
Compartilhar em outros sites

vou ilustrar aki pra você ver:

<html><head><title>Teste</title><script language="JavaScript">function externalLinks() {if (!document.getElementsByTagName) return;var anchors = document.getElementsByTagName("a");for (var i=0; i<anchors.length; i++) {  var anchor = anchors[i];  if (anchor.getAttribute("href") &&	  anchor.getAttribute("rel") == "external")	anchor.target = "_blank";}}window.onload = externalLinks;</script></head><body><a href="http://url.site.com" rel="external">URLzaum</a></body></html>
outra coisa, o css naum pode ser php... a naum ser q no php você mude o content-type ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora funcionou bruno! Deu certo sim. Valeu mesmo. O que eu tava esquecendo era do rel="external" no link. Mas isso tráz alguma vantagem na hora da atualização? Por exemplo, e se daqui uns dias eu quiser trocar todas as tags desses links para abrirem na mesma página (target="_top"), daí eu vou ter que alterar link por link e não somente o CSS, não é?E só mais uma coisa, não entendi o lance que não pode colocar o CSS em php que não funciona, pois aqui funcionou, e se você se referiu ao content:<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">Isso eu tirei tanto da home como da página do css, tem algum problema ou isso é bom deixar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

css eh soh pra estética, layout... funcionamento dos links é xhtml... mas como estamos usando javascript, é só mudara linha:

anchor.target = "_blank";
para:

anchor.target = "_self";
q as páginas q receberem o external serão abertas na mesma janela :natalwink:

 

naum falei q css naum pode ser colocado em php, falei q um arquivo naum pode ter extensão .php, exemplo estilo.php, sendo seu css ;) só pode, se você mudaro content-type, mas do arquivo estilo.php e naum do xhtml, como você referiu-se ae :natalwink:

 

Exemplo:

index.php

<html><head><title>Titulo</title><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"><link rel="stylesheet" type="text/css" href="estilo.php" /></head><body></body></html>
estilo.php

<?phpheader("Content-type: text/css");?>body {margin: 0;padding: 0;}
e por ae vai... ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá. Bom, para trocar a tag de blank para self ou top, isso eu já tinha entendido (simples), o que eu me referia é que se os links de todas as páginas que eu quisesse colocar a tag referente estivessem sem o rel="external", eu iria ter que colocar em link por link, não é?Agora é lógico, que depois quando já está o rel external no link e eu quiser trocar para de blank abrir em self, daí sim é só trocar na página onde está o cód. daí sim facilita, já que a página onde está este código abre em include nas páginas onde deve aparecer.Agora quanto ao css não poder abrir em extensão php, eu entendi que pode ser sim utilizado em php, e o que não pode é utilizar na extensão .php.Mas eu utilizei na extensão .php, igualzinho você fez no exemplo, só que mesmo sem colocar o <?phpheader("Content-type: text/css");?>funciona. Testando nos navegadores IE, FF e opera.Então, isso seria certo mesmo, ou é melhor por precaução colocar o:<?phpheader("Content-type: text/css");?>E obrigado por toda as explicações que você já me falou! Valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, aih você teria q criar um javascript pra pegar todas as tags a e colocar o target q você deseja ;) usando o getElementsByTagName("a") ae você vai faendo as condições, funções e ações... por ae vai ;) qnt ao php... nunca testei sem o content-type naum... mas eu acho seguro utilizar sim... pelo menos eu faço assim... agora se funciona sem, naum sei... eu acho seguro colocar... ;) tranquilo, valew ae... estamos ae pra isso... :natalwink:

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.