80 votes

Rafraîchir (recharger) une page une fois à l'aide de jQuery ?

Question de débutant : Je me demande comment rafraîchir/recharger une page (ou même une division spécifique) une fois ( !) en utilisant jQuery ? Idéalement de manière à ce que la "structure DOM" soit disponible (cf. événement "onload") et sans affecter négativement les fonctionnalités du "bouton retour" ou du "marque-page". Veuillez noter que la fonction ''replace('' n'est pas autorisée en raison de restrictions imposées par des tiers. Merci d'avance ! --Pete

80voto

Ben Points 6731

EDIT :

D'accord, je pense que j'ai compris ce que tu veux, essaye ça.

if(window.top==window) {
    // you're not in a frame so you reload the site
    window.setTimeout('location.reload()', 3000); //reloads after 3 seconds
} else {
    //you're inside a frame, so you stop reloading
}

Si c'est une fois, alors il suffit de faire

$('#div-id').triggerevent(function(){
    $('#div-id').html(newContent);
});

S'il est périodiquement

function updateDiv(){
    //get new content through ajax
    ...
    $('#div-id').html(newContent);
}

setInterval(updateDiv, 5000); // that's 5 seconds

Ainsi, toutes les 5 secondes, le contenu du div #div-id sera actualisé. C'est mieux que de rafraîchir la page entière.

66voto

Milli Points 899

Pour recharger, vous pouvez essayer ceci

window.location.reload(true);

40voto

Maz Points 2701
window.location.href=window.location.href;

4voto

swapnil Points 41
$('#div-id').click(function(){

   location.reload();
        });

C'est la syntaxe correcte.

$('#div-id').html(newContent); //This doesnt work

4voto

Parag Gaiwkad Points 51
    <script type="text/javascript">
        $(document).ready(function(){

            //Check if the current URL contains '#' 
            if(document.URL.indexOf("#")==-1)
            {
                // Set the URL to whatever it was plus "#".
                url = document.URL+"#";
                location = "#";

                //Reload the page
                location.reload(true);

            }
        });
    </script> 

En raison de la condition if, la page ne sera rechargée qu'une seule fois.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X