Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal tudo bom? espero que sim :)
O meu caso é o seguinte, eu tenho uma URL
www.exemplo.com.br/#updateOnce
esse /#updateOnce foi criado a partir de um refresh que fiz de 3 segundos usando este código
<?php if (!isset($_GET["ok"])): ?>
<script type="text/javascript">
window.onload = function() {
if(!window.location.hash) {
window.location = window.location + '#updateOnce';
history.pushState("", document.title, window.location.pathname);
setTimeout(function () {
window.location.reload();
}, 3000);
}
}
</script>
Gostaria de ficar com a URL padrão www.exemplo.com, eu já consegui realizar esta função porem o codigo acima entende que é um novo acesso e atualiza novamente, não sei se fui claro mais é isso.
>
a linha:
window.location.reload();
é que faz refresh, não coloque ela.
Wiliam é quase isso.. eu preciso que toda vez que alguém entrar no site aguarde 3 segundos e atualize uma vez que é justamente o que esse código faz, porem só gostaria de tirar a url que ele cria #updateOnce e assegurar que ele não vai atualizar de novo.
ah.. então use um cookie.
na primeira vez que a pessoa entrar você grava um cookie. Como o cookie não vai existir você atualiza, depois verifica se o cookie existe, ai como ele existe você não atualiza.
sem mexer com a url.
ai você pode até fazer um cookie de sessão, para fazer isso toda vez que a pessoa entrar e sair da página (fechar o navegador, ou fechar a aba)
Entendo, o código já faz isso perfeitamente, porem ele troca a url x para url xy assim não atualiza novamente, porem gostaria era somente de tirar o y da questão e segurar o refresh, esse metodo do cookie tem algum exemplo?
Exemplo:
<p id="target"></p>
<script>
var $target = document.getElementById('target');
if (!/wasRefreshed/.test(document.cookie)) {
document.cookie = 'wasRefreshed=true';
setTimeout(refresh, 3000);
target.innerHTML = 'first time';
} else {
target.innerHTML = 'second time';
}
function refresh() {
location.href = '';
}
</script>Muito obrigado funcionou perfeitamente, peço perdão pelo incomodo e a falta de conhecimento no php estou novo na linguagem mais to gostando :)
a linha:
window.location.reload();
é que faz refresh, não coloque ela.