Controle Progam está no servidor e eu preciso fazer um relaod. Eu posso usar um comando php:
echo "<meta http-equiv="refresh" content="0">"
ou posso passar o controle de volta para o cliente com um sinalizador de recarregamento definido e usar um comando javascript
window.location.reload();
Qual é a melhor prática ou melhor usar, em termos de velocidade?
Acho que a versão do PHP seria um pouco mais rápida, porque não há lógica no lado do cliente, o navegador recebe o cabeçalho e recarrega.
Eu não estou preocupado com o javascript desativado.
Respostas:
5 para resposta № 1Umm ambos os exemplos aqui são LADO DO CLIENTE.
No exemplo
- Você simplesmente diz ao documento para atualizar com base no
<META>
efetivamente o navegador está ciente da atualização, o PHP é apenas responsável por incluir o<META>
para o cabeçalho do documento. Maneira mais limpa é realmente fazerheader( "refresh:0;url=wherever.php" );
- Aqui você simplesmente recarrega usando
JAVASCRIPT
.
Ambos fazem o trabalho. A velocidade não importa como a atualização é baseada em seu parâmetro (quando recarregar / atualizar)
3 para resposta № 2
A única diferença é que a primeira opção funciona se o javascript estiver desativado, presumivelmente.
2 para resposta № 3
Tanto "meta refresh" quanto "window.location.reload ()" via JavaScript são do lado do cliente. O navegador lida com a atualização e você fica inteiramente à mercê do navegador para implementá-la.
Embora o método de atualização de meta não exija JavaScript, você tem menos controle sobre ele. Via PHP, o HTML deve ser criado no momento do carregamento.
Via JavaScript, você poderia acionar a carga a qualquer momento. Você pode até criar um cabeçalho "meta refresh" com JavaScript.
Uma maneira confiável pode ser criar o cabeçalho de meta-atualização, mas se o JavaScript estiver ativado, exclua o cabeçalho via JavaScript e faça o recarregamento quando você realmente quiser via JavaScript.
1 para resposta № 4
É meu sentimento que a solução php é melhor, mas como eu digo é mais um sentimento do que qualquer outra coisa. Meu raciocínio é:
Você só precisa ter a lógica em um único lugar (em vez de definir um sinalizador e depois verificá-lo no javascript).
Você começa a ter um código JavaScript mais limpo.
Se o javascript estiver desabilitado, ele ainda funcionará (se você se importar com isso).
Eu imagino que nos navegadores modernos a diferença de velocidade é negligenciável, mas não tenho nada para comprovar isso.