Обновить (перезагрузить) страницу один раз с помощью jQuery?
мне интересно, Как обновить/перезагрузить страницу (или даже конкретный div) один раз(!) с помощью jQuery?
В идеале сразу после DOM structure
доступно (ср. onload
событие) и не оказывает отрицательного влияния back button
или bookmark
функциональность.
обратите внимание: replace()
не допускается из-за сторонних ограничений.
14 ответов:
- хорошо, я думаю, что я получил то, что вы просите. Попробуйте это
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 будет обновляться. Лучше, чем обновить всю страницу.
$('#div-id').click(function(){ location.reload(); });
это правильный синтаксис.
$('#div-id').html(newContent); //This doesnt work
используйте этот:
<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
условие, страница перезагрузится только один раз.
у вас нет функции обновления 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>
еще один: добавить в тег head
<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.