A carregar...



Correr Javascript no corpo dos seus posts Blogger


Uma das dificuldades com que me tenho debatido desde o início deste blog é fazer correr Javascripts dentro dos posts.
Parece que o Blogger não o permite, embora na barra lateral, como widget, não exista qualquer problema.
Parece que foi desta que descobri a solução, graças a um post colocado neste blog e que agora irei traduzir a adaptar.

Se colocar o código seguinte no interior de um post, nada acontecerá pois o script não correrá.


<a onclick=javascript:showMessage() href="#" >Teste</a>
<script language="JavaScript">
function showMessage()
{
alert("Está a funcionar no post?");
}
</script>


Mas se colocar o mesmo script na forma seguinte, funcionará.


<a onclick="alert('Isto Funciona')" href="#" >Teste</a>


Em conclusão: se colocar o código dentro de aspas ("") funciona.
Mas esta não é uma solução satisfatória pois pode querer usar e reutilizar uma função de Javascript (por exemplo a função showMessage(), isto é, que ela seja chamada de vários pontos do post e aqui, com as funções Javascript, não há maneira de colocá-las entre aspas.

Por outro lado se você colocar o seu código de Javascript num ficheiro .js, depois fizer o upload desse ficheiro para um servidor na web e, finalmente, no seu post fizer a sua chamada, tudo funcionará:


<script src="http://snow-effect.googlecode.com/files/snow.js" type="text/javascript">
</script>


Esta é uma boa solução e deve ser por ela que vou optar.
Todavia, muitas pessoas não têm servidores na web disponíveis (bem, há montes deles de acesso gratuito) ou não estão para se chatear com isso.

Então existe um outro modo:
Examine o código html do seu blog e reparei no seguinte:


<script src="http://snow-effect.googlecode.com/files/snow.js" type="text/javascript">
</script>


Há aqui um problema. Nas novas linhas. Cada vez que você começa a escrever numa outra linha o editor do blogger adiciona a tag <br />
E é por causa desta tag que o browser não consegue executar o Javascript.

Então a correcção para o problema deve ser algo como:


Test



Para funcionar bem nos posts do blogger, o Javascript deve ser todo escrito numa única linha.

Eis um exemplo que funciona (clique na palavra Teste para confirmar)

Teste









                         


Mensagens relacionadas (por Tags)






Responda a este post


Enviar um comentário