Как обновить страницу с помощью jQuery?
Как обновить страницу с помощью jQuery?
21 ответов
использовать location.reload()
:
$('#something').click(function() {
location.reload();
});
на reload()
функция принимает необязательный параметр, который может быть установлен на true
чтобы принудительно перезагрузить сервер, а не кэш. Параметр по умолчанию:false
, поэтому по умолчанию страница может перезагружаться из кэша браузера.
здесь несколько неограниченные способы обновления страницы с помощью JavaScript:
location.reload()
history.go(0)
location.href = location.href
location.href = location.pathname
location.replace(location.pathname)
-
location.reload(false)
если нам нужно было вытащить документ из веб-сервер снова (например, где содержимое документа изменить динамически) мы бы передали аргумент как
true
.
вы можете продолжить список творчески:
window.location = window.location
window.self.window.self.window.window.location = window.location
- ...и другие способы 534
var methods = [
"location.reload()",
"history.go(0)",
"location.href = location.href",
"location.href = location.pathname",
"location.replace(location.pathname)",
"location.reload(false)"
];
var $body = $("body");
for (var i = 0; i < methods.length; ++i) {
(function(cMethod) {
$body.append($("<button>", {
text: cMethod
}).on("click", function() {
eval(cMethod); // don't blame me for using eval
}));
})(methods[i]);
}
button {
background: #2ecc71;
border: 0;
color: white;
font-weight: bold;
font-family: "Monaco", monospace;
padding: 10px;
border-radius: 4px;
cursor: pointer;
transition: background-color 0.5s ease;
margin: 2px;
}
button:hover {
background: #27ae60;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
много способов будет работать, я полагаю:
window.location.reload();
history.go(0);
window.location.href=window.location.href;
перезагрузить страницу с помощью jQuery, сделать:
$.ajax({
url: "",
context: document.body,
success: function(s,x){
$(this).html(s);
}
});
подход здесь, который я использовал, был Ajax jQuery. Я протестировал его на Chrome 13. Затем я помещаю код в обработчик, который запустит перезагрузку. The URL-адресом is ""
, что означает на этой странице.
если текущая страница была загружена запросом POST, вы можете использовать
window.location = window.location.pathname;
вместо
window.location.reload();
, потому что window.location.reload()
запросит подтверждение при вызове страницы, загруженной запросом POST.
вопрос должен быть:
Как обновить страницу с помощью JavaScript
window.location.href = window.location.href; //This is a possibility
window.location.reload(); //Another possiblity
history.go(0); //And another
ты избалован выбором.
вы можете использовать
location.reload(forceGet)
forceGet
является логическим и необязательным.
значение по умолчанию-false, которое перезагружает страницу из кэша.
установите этот параметр в true, если вы хотите заставить браузер получить страницу с сервера, чтобы избавиться от кэша.
или просто
location.reload()
Если вы хотите быстро и легко с кэшированием.
три подхода с различным поведением, связанным с кэшем:
-
location.reload(true)
в браузерах, которые реализуют
window.location.reload()
перезагрузится с сервера и загрузит все ваши данные, скрипты, изображения и т. д. снова.
поэтому, если вы просто хотите обновить HTML,window.location = document.URL
вернется гораздо быстрее и с меньшим трафиком. Но он не будет перезагружать страницу, если в URL-адресе есть хэш ( # ).
в jQuery Load
функция также может выполнять обновление страницы:
$('body').load('views/file.html', function () {
$(this).fadeIn(5000);
});
вот решение, которое асинхронно перезагружает страницу с помощью jQuery. Это позволяет избежать мерцания, вызванного window.location = window.location
. В этом примере показана страница, которая постоянно перезагружается, как в панели мониторинга. Он испытан в бою и работает на информационном дисплее телевизора на Таймс-Сквер.
<!DOCTYPE html>
<html lang="en">
<head>
...
<meta http-equiv="refresh" content="300">
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.2.3/jquery.min.js"></script>
<script>
function refresh() {
$.ajax({
url: "",
dataType: "text",
success: function(html) {
$('#fu').replaceWith($.parseHTML(html));
setTimeout(refresh,2000);
}
});
}
refresh();
</script>
</head>
<body>
<div id="fu">
...
</div>
</body>
</html>
Примечания:
- используя
$.ajax
как$.get('',function(data){$(document.body).html(data)})
вызывает css / js файлы, чтобы получить кэш-busted, даже если вы используетеcache: true
, вот почему мы используемparseHTML
-
parseHTML
не нашелbody
tag таким образом, все ваше тело должно пойти в дополнительный div, я надеюсь, что этот самородок знаний поможет вам однажды, вы можете догадаться, как мы выбрали id для этогоdiv
- использовать
http-equiv="refresh"
на всякий случай, если что-то пойдет не так с javascript/server икота, то страница все равно перезагрузится без получения телефонного звонка - этот подход, вероятно, утечка памяти как-то,
http-equiv
обновление исправляет это
поскольку вопрос является общим, давайте попробуем суммировать возможные решения для ответа:
простое простое решение JavaScript:
самый простой способ-это однострочное решение, размещенное соответствующим образом:
location.reload();
чего здесь не хватает многим людям, потому что они надеются получить некоторые "очки" , так это то, что сама функция reload() предлагает логическое значение в качестве параметра (подробности: https://developer.mozilla.org/en-US/docs/Web/API/Location/reload).
Расположение.метод reload () перезагружает ресурс из текущего URL-АДРЕС. Его необязательным уникальным параметром является логическое значение, которое true, заставляет страницу всегда перезагружаться с сервера. Если это false или не указано, браузер может перезагрузить страницу из кэш.
Это означает, что есть два пути:
Решение 1:силу перезагрузка текущей страницы с сервера
location.reload(true);
Solution2: перезагрузка из кэша или сервера (на основе браузера и вашей конфигурации)
location.reload(false);
location.reload();
и если вы хотите объединить его с jQuery прослушиванием события,я бы рекомендовал использовать".on () " метод вместо ".нажмите " или другие обертки событий, например, более правильным решением будет:
$('#reloadIt').on('eventXyZ', function() {
location.reload(true);
});
нашел
window.location.href = "";
или
window.location.href = null;
также обновите страницу.
Это упрощает перезагрузку страницы, удаляя любой хэш. Это очень приятно, когда я использую AngularJS в симуляторе iOS, так что мне не нужно перезапускать приложение.
можно использовать JavaScript location.reload()
метод.
Этот метод принимает параметр типа boolean. true
или false
. Если параметр true
; страница всегда перезагружается с сервера. Если это false
; который является значением по умолчанию или с пустым параметром браузера перезагрузите страницу из кэша.
С true
параметр
<button type="button" onclick="location.reload(true);">Reload page</button>
С default
/ false
параметр
<button type="button" onclick="location.reload();">Reload page</button>
использование jquery
<button id="Reloadpage">Reload page</button>
<script type="text/javascript">
$('#Reloadpage').click(function() {
location.reload();
});
</script>
вы не нужно что-нибудь в jQuery, чтобы перезагрузить страницу с помощью чистый JavaScript, просто используйте функцию перезагрузки на свойстве местоположения, как это:
window.location.reload();
по умолчанию это перезагрузит страницу с помощью кэша браузера (если он существует)...
Если вы хотите сделать принудительную перезагрузку страницы, просто передайте правда значение для перезагрузки метода, как показано ниже...
window.location.reload(true);
также, если вы уже в объем окна, вы можно избавиться от window и сделать:
location.reload();
если вы используете jQuery и хотите обновить, попробуйте добавить jQuery в функцию javascript:
Я хотел скрыть iframe со страницы при нажатии oh an h3
, для меня это сработало, но я не смог щелкнуть элемент, который позволил мне просмотреть iframe
для начала, пока я не обновил браузер вручную...не идеальный.
я попробовал следующий:
var hide = () => {
$("#frame").hide();//jQuery
location.reload(true);//javascript
};
смешивание простого Jane javascript с вашим jQuery должно работать.
// code where hide (where location.reload was used)function was integrated, below
iFrameInsert = () => {
var file = `Fe1FVoW0Nt4`;
$("#frame").html(`<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/${file}\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen></iframe><h3>Close Player</h3>`);
$("h3").enter code hereclick(hide);
}
// View Player
$("#id-to-be-clicked").click(iFrameInsert);
использовать onclick="return location.reload();"
внутри тега кнопки.
<button id="refersh-page" name="refersh-page" type="button" onclick="return location.reload();">Refesh Page</button>
Простое Решение Javascript:
location = location;
<button onClick="location = location;">Reload</button>
вот несколько строк кода, которые можно использовать для перезагрузки страницы использование jQuery.
он использует оболочку jQuery и извлекает собственный элемент dom.
использовать это, если вы просто хотите jQuery и чувство на вашем коде, и вам все равно скорость/производительность кодекса.
просто выберите от 1 до 10, который соответствует вашим потребностям или добавить еще несколько на основе шаблона и ответов перед этим.
<script>
$(location)[0].reload(); //1
$(location).get(0).reload(); //2
$(window)[0].location.reload(); //3
$(window).get(0).location.reload(); //4
$(window)[0].$(location)[0].reload(); //5
$(window).get(0).$(location)[0].reload(); //6
$(window)[0].$(location).get(0).reload(); //7
$(window).get(0).$(location).get(0).reload(); //8
$(location)[0].href = ''; //9
$(location).get(0).href = ''; //10
//... and many other more just follow the pattern.
</script>
все ответы здесь хорошие. Поскольку вопрос указывает на перезагрузку страницы с в jQuery, Я просто подумал добавить что-то еще для будущих читателей.
jQuery-это кросс-платформенное библиотека JavaScript предназначен для упрощения клиентских сценариев HTML.
~ Википедия ~
Так что вы поймете, что основание в jQuery или в jQuery на основе javascript. Так что с pure javascript лучше, когда дело доходит до простых вещей.
но если вам нужен в jQuery решение, вот одна.
$(location).attr('href', '');