Ir para conteúdo

POWERED BY:

Arquivado

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

Claiton B G

Javascript que não na maquina local até que recarregue a página

Recommended Posts

Olá a todos

 

Estou enfrentando um problema muito estranho com javascript no Firefox que para mim é um verdadeiro mistério, já que o mesmo código funciona perfeitamente nos outros navegadores (inclusive no IE, o que me deixou de queixo caído).

 

O problema

 

Criei um código javascript para chamar outras funções após carregar a página, mas ao abrir no Firefox 10.0.2 (na maquina local, com protocolo file) o javascript não executa. É como se não existisse nenhum javascript.

 

O que é mais estranho é que se eu recarregar a página (F5 ou Ctrl+F5) o javascript passa a funcionar que é uma beleza.

 

No entanto, no servidor online esse problema não ocorreu (usando o mesmo Firefox que apresentou o problema localmente).

 

Alguém consegue desvendar esse mistério? Segue o código problemático:

 

(function () {

"use strict";

function aviso () {
alert ('Entrou na página!');
}

function clique () {
document.getElementById('botao').onclick = function () {
	alert ('Clicou no botãozinho!!!');
	}
}

function inicializar () {
var chamar = [aviso, clique];
for (var x in chamar) {
	chamar[x].call();
	}
}

return {carregar : function () { document.body == null ? setTimeout(this.carregar, 10) : inicializar(); }}
})().carregar()

Compartilhar este post


Link para o post
Compartilhar em outros sites
(na maquina local, com protocolo file)

não abra dessa forma.

 

instale um servidor web, e acesse atraves do http://localhost

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se a página não tem nenhum código server-side é esperado que funcione de maneira idêntica tanto pelo protocolo file quanto pelo protocolo http.

Mas tente a solução apontada no post acima, provavelmente resolverá o problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

não abra dessa forma.

 

instale um servidor web, e acesse atraves do http://localhost

 

William, eu esqueci de dizer que eu já tenho o servidor web rodando direitinho acessando pelo http://localhost funciona perfeitamente. Eu queria é entender o porque deste erro. Pesquisei bastante e não encontrei nada, então essa maldita curiosidade está me matando! :grin:

 

Obrigado pela atenção!!

 

Se a página não tem nenhum código server-side é esperado que funcione de maneira idêntica tanto pelo protocolo file quanto pelo protocolo http.

Mas tente a solução apontada no post acima, provavelmente resolverá o problema.

 

Exatamente, não tem nada de server-side no código então deveria funcionar identicamente nos dois protocolos, mas não funciona. Eu tenho um servidor web rodando na maquina local e outro que roda do pendrive e pelo http://localhost funciona.

 

Testei isso no Linux e no Windows e em vários computadores e sempre ocorre o mesmo problema. Nas minhas pesquisas não encontrei nenhuma referencia a isso, nem no site da mozilla.

 

O que eu queria mesmo é entender o porque disso, mas talvez devesse deixar minha curiosidade de lado e não me preocupar mais já que funciona no servidor.

 

Valeu Henrique

Compartilhar este post


Link para o post
Compartilhar em outros sites
é esperado que funcione de maneira idêntica tanto pelo protocolo file quanto pelo protocolo http.

esta informação está incorreta, pois isso não é verdade.

 

Não se preocupe com o arquivo não rodar pelo file, na boa.. os seus visitantes vão ver através do http, afinal de contas.

Não é a mesma coisa, tô com um pouco de preguiça de explicar agora.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já verificou o console de erros?

 

Sim, já. Mas só da o aviso de "aspas" na função setTimeout:

 

Erro: useless setTimeout call (missing quotes around argument?)

 

Mas neste caso a declaração que eu fiz do setTimeout está correta e após atualizar a página (F5 ou Ctrl+F5) o console não exibe mais esse erro!!

 

O negócio é estranho mesmo!!:cry:

 

...

Não se preocupe com o arquivo não rodar pelo file, na boa.. os seus visitantes vão ver através do http, afinal de contas.

...

 

Certo, nos meus "sistemas online" (1 ou 2 perdidos por aí, na verdade :rolleyes:) funciona perfeitamente.

 

Eu só tinha curiosidade de saber o porque deste erro, pois acho que nenhum conhecimento é inútil (desculpa de curioso nato), então postei para ver se alguém com mais experiência que eu sabia do que se tratava.

 

Mas pelo jeito eu fui o primeiro a descobrir essa "pérola" (será que eu posso batizar com o meu nome? :grin:).

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.