Rafraîchir (recharger) une page en utilisant jQuery?

je me demande comment rafraîchir / recharger une page (ou même une div spécifique) une fois(!) en utilisant jQuery?

idéalement D'une manière juste après le DOM structure est disponible (cf. onload ) et n'affecte pas négativement les fonctionnalités back button ou bookmark .

s'il vous Plaît, notez: replace() n'est pas autorisé en raison de tiers restrictions.

76
demandé sur ProgramFOX 2010-04-01 04:47:14

14 réponses

très bien, je pense que j'ai ce que vous demandez. Essayez

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

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

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

si elle est périodique

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

setInterval(updateDiv, 5000); // That's five seconds

ainsi, toutes les cinq secondes le contenu div #div-id se rafraîchira. C'est mieux que de rafraîchir toute la page.

78
répondu Ben 2014-11-29 06:03:57

Pour recharger, vous pouvez essayer ceci:

window.location.reload(true);
66
répondu Milli 2014-11-29 06:05:56
window.location.href=window.location.href;
40
répondu Maz 2010-04-01 00:53:59
$('#div-id').click(function(){

   location.reload();
        });

C'est la syntaxe correcte.

$('#div-id').html(newContent); //This doesnt work
4
répondu swapnil 2012-02-17 11:54:53

utilisez ceci:

    <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.

4
répondu Parag Gaiwkad 2014-11-29 06:08:29

vous n'avez pas de fonction de rafraîchissement jQuery, parce que c'est la base de JavaScript.

essayez ceci:

<body onload="if (location.href.indexOf('reload')==-1) location.replace(location.href+'?reload');">
3
répondu Adrian P. 2014-11-29 06:06:21

utiliser:

<html>
    <head>
        <title>Reload (Refresh) Page Using Jquery</title>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function () {
                $('#reload').click(function() {
                    window.location.reload();
                });
            });
        </script>
    </head>
    <body>
        <button id="reload" >Reload (Refresh) Page Using</button>
    </body>
</html>
2
répondu Vicky 2017-09-26 08:49:57

ajoutez ceci en haut de votre fichier et le site se rafraîchira toutes les 30 secondes.

<script type="text/javascript">
    window.onload = Refresh;

    function Refresh() {
        setTimeout("refreshPage();", 30000);
    }
    function refreshPage() {
        window.location = location.href;
    }
</script>

un autre est: ajouter dans l'étiquette de tête

<meta http-equiv="refresh" content="30">
1
répondu Paresh3489227 2014-05-13 12:39:24
 - location = location
 - location = location.href
 - location = window.location
 - location = self.location
 - location = window.location.href
 - location = self.location.href
 - location = location['href']
 - location = window['location']
 - location = window['location'].href
 - location = window['location']['href']

vous n'avez pas besoin de jQuery pour ça. Vous pouvez le faire avec JavaScript.

1
répondu Steve 2015-09-30 01:11:50

utilisez ceci à la place

function timedRefresh(timeoutPeriod) {
    setTimeout("location.reload(true);",timeoutPeriod);
}

<a href="javascript:timedRefresh(2000)">image</a>
0
répondu arunav 2012-12-17 06:16:26

essayez ce code:

$('#iframe').attr('src', $('#iframe').attr('src'));
0
répondu Koss 2014-11-29 06:06:40

essayez ceci:

<input type="button" value="Reload" onClick="history.go(0)">
0
répondu user1016195 2014-11-29 06:11:58

pour rafraîchir la page avec javascript, vous pouvez simplement utiliser:

location.reload();
0
répondu Felipe Leão 2014-11-29 07:26:11

vous pourriez avoir besoin d'utiliser this référence avec location.reload() vérifier cela, il va fonctionner.

this.location.reload();
0
répondu Tino Jose Thannippara 2018-01-25 11:35:31