2012-11-10 9 views
16
<script type="text/javascript"> 
window.onload = setupRefresh; 

function setupRefresh() { 
    setTimeout("refreshPage();", 1000); 
} 
function refreshPage() { 
    window.location = location.href; 
} 

jquery auto odświeżania bez mrugnięcia

Strona jest teraz przeładowywania co drugi jedynym problemem Jej migający jak to naprawić

+0

trzeba użyć ajax i zastosować zawartości bezpośrednio w Domu – Ankur

+1

Wygląda na to, robi to, co powinno, nie? Dlaczego chcesz przeładować stronę co sekundę? – frenchie

+1

oczywiście będzie migać .. strona musi przeładować i to wymaga trochę czasu .Nie trzeba robić tego, co robisz z javascript, po prostu użyj znacznika 'meta' – charlietfl

Odpowiedz

31

Możesz użyć elementu div i .get z jquery, aby uzyskać dane z innej strony w witrynie.

Można użyć setTimeout (function, czas)

$(function() { 
    startRefresh(); 
}); 

function startRefresh() { 
    setTimeout(startRefresh,1000); 
    $.get('pagelink.php', function(data) { 
     $('#content_div_id').html(data);  
    }); 
} 
1

Dzięki za odpowiedź z funkcji, ale jeśli chcę korzystać z opóźnieniem około 1 minuty, muszę zacząć dzwonić funkcji z opóźnieniem w ten sposób:

<script type="text/javascript"> 
//<![CDATA[ 
var vTimeOut; 

$(function() { 
    vTimeOut= setTimeout(startRefresh, 60000) 
}); 


function startRefresh() { 
    clearInterval(vTimeOut); 
    vTimeOut= setTimeout(startRefresh, 60000); 
    $(<#div>).load(<loadURL>); 
} 

//]]> 
</script> 

W przeciwnym razie funkcja startRefresh działa bardzo szybko lub wielokrotnie.

4

Jeśli strona jest całkowicie przeładunku i nadpisanie się (w tym skrypcie, który robi przeładunku, a następnie spróbuj tej wersji:

function startRefresh() { 
    $.get('', function(data) { 
     $(document.body).html(data);  
    }); 
} 
$(function() { 
    setTimeout(startRefresh,1000); 
});