Ir para conteúdo

POWERED BY:

Arquivado

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

websano

Limitar atuação do Javascript (somente numa DIV)

Recommended Posts

Olá pessoal do fórum!

 

Gostei do novo visual do fórum, ficou mais funcional e amigável

 

Pois bem, vamos a questão.

 

Estou criando um sistema de cadastramento e exibição de notícias. Encontrei na internet um javascript que procura em toda a página URL's e converte elas em link, pra não precisar de quem estiver cadastrando o conteúdo, não tenha que clicar os

<a href="www.site.com.br">www.site.com.br</a>

. Até porque não é todo mundo que lida com computador que entende de html, mesmo que seja o básico.

 

Minha página contém alguns iframes e outros javscripts e quando eu coloco o script pra rodar, ele bagunça o resto da página pois, tudo que ele encontra de www.xxx ele insere as <a href...

 

Queria que esse script atuasse somente na div indicada pra não atrapalhar o resto do código.

 

já coloquei <noscript> em algumas pastes do site mas não resolveu...

 

Segue abaixo o script, e agradeço muito a quem puder me ajudar...

 

 

 

<html>
<head>
<title>Capturar url e transformar em um link</title>

<script type='text/javascript' language='javascript'>
window.onload = autolink;
function autolink(text) {
var exp = /(\b(s?|ftp):\/\/|www[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gim;
document.body.innerHTML = document.body.innerHTML.replace(exp,"<b><a href=http://$1 target='_blank'>$1</a></b>"); 
}
</script>

</head>
<body>

<div id="contenudo">

<p> Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla </p>

<p>Meu site é: www.google.com.br</p>

</div>

</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

O <noscript /> serve apenas para exibir um certo conteúdo caso Javascript do cliente não esteja ativado.

E nesse caso, seria melhor fazer isso com a linguagem server-side que você está usando, por questões de acessibilidade, já que uma pessoa com o Javascript desativado não conseguiria ver os links.

 

Mas se ainda sim você quiser fazer isso com Javascript, é só trocar o document.body por document.getElementById( 'ID DA DIV EM QUE O SCRIPT VAI ATUAR' ).

Assim:

document.getElementById( 'ID DA DIV EM QUE O SCRIPT VAI ATUAR' ).innerHTML = document.getElementById( 'ID DA DIV EM QUE O SCRIPT VAI ATUAR' ).innerHTML.replace(exp,"<b><a href=http://$1 target='_blank'>$1</a></b>"); 

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.