Мне интересно, как обновить / перезагрузить страницу (или даже конкретный div) один раз (!) С помощью jQuery?
В идеале таким образом , сразу после того , DOM structure
имеется (см onload
событие) и не влияет отрицательно back button
или bookmark
функциональность.
Обратите внимание: replace()
не допускается из-за ограничений третьих лиц.
Ответы:
Хорошо, я думаю, что получил то, о чем вы просите. Попробуй это
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. }
Если один раз, то просто сделай
$('#div-id').triggerevent(function(){ $('#div-id').html(newContent); });
Если это периодически
function updateDiv(){ //Get new content through Ajax ... $('#div-id').html(newContent); } setInterval(updateDiv, 5000); // That's five seconds
Итак, каждые пять секунд содержимое div # div-id будет обновляться. Лучше, чем обновлять всю страницу.
источник
Для перезагрузки вы можете попробовать следующее:
window.location.reload(true);
источник
window.location.href=window.location.href;
источник
Использовать этот:
<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>
Из-за
if
условия страница будет перезагружена только один раз.источник
$('#div-id').click(function(){ location.reload(); });
Это правильный синтаксис.
$('#div-id').html(newContent); //This doesnt work
источник
У вас нет функции обновления jQuery, потому что это основы JavaScript.
Попробуй это:
<body onload="if (location.href.indexOf('reload')==-1) location.replace(location.href+'?reload');">
источник
Использование:
<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>
источник
Добавьте это в начало файла, и сайт будет обновляться каждые 30 секунд.
<script type="text/javascript"> window.onload = Refresh; function Refresh() { setTimeout("refreshPage();", 30000); } function refreshPage() { window.location = location.href; } </script>
Другой: добавить в заголовок
<meta http-equiv="refresh" content="30">
источник
- 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']
Для этого вам не нужен jQuery. Вы можете сделать это с помощью JavaScript.
источник
Используйте это вместо
function timedRefresh(timeoutPeriod) { setTimeout("location.reload(true);",timeoutPeriod); } <a href="javascript:timedRefresh(2000)">image</a>
источник
Попробуйте этот код:
$('#iframe').attr('src', $('#iframe').attr('src'));
источник
Попробуй это:
<input type="button" value="Reload" onClick="history.go(0)">
источник
Для обновления страницы с помощью javascript вы можете просто использовать:
location.reload();
источник
Вам может потребоваться использовать
this
ссылку вместе сlocation.reload()
проверкой, это сработает.this.location.reload();
источник