Criar variável global apartir de uma funçao
10/08/2008 - 21:30 4 comentáriosMeus caros,
Estes dias precisei passar uma variável para uma outra função e não conseguia se não fosse por variável global. Pois bem, seria muito fácil eu criar uma variável no começo do código e atribuir o valor a ela e depois pegar onde quisesse, porém não tinha acesso ao script principal e tive que dentro de uma função criar uma variável global para que a outra função enxergasse a variável.
Olhem como fiz:
<script type="text/javascript">
function executaAjax(id) {
top.novaVariavelGlobal = id;
…
objAjax.onreadystatechange = funcaoExecutora;
…
}
function funcaoExecutora() {
alert(novaVariavelGlobal);
}
executaAjax('id_teste');
</script>
Notem que quando vou usa-lá não preciso mais do ‘top.’, pois agora ela é global.
Segue um exemplo para testarem:
<script type="text/javascript">
function executa(id) {
top.novaVariavelGlobal = id;
document.onkeypress = funcaoExecutora;
}
function funcaoExecutora() {
alert(novaVariavelGlobal);
}
executa('1');
</script>
É só criar uma página com o script acima e apertar o <ENTER>.
Abs,
Chapoo!

Darcy,
Realmente usar o php ou outra linguem simples como o shtml ajuda a eliminação dos iframes além de ser ótimo para SEO.
Obrigado.
Ao invés de Frames no velho html, procure usar php. Não é tão dificil assim =).
Fabio,
Testei e realmente não funciona o script da maneria que deveria…
Realmente não pensei no frame, embora muitas pessoas prefiram não usar frames, vou pensar em algo e colocar a correção se possível.
Att,
Danilo.
Se esse código estiver dentro de um frame vai dar erro !, mas pra quem não usa frame é uma otima dica !