Как обновить страницу с помощью jQuery?
Используйте location.reload()
:
$('#something').click(function() {
location.reload();
});
Функция reload()
принимает необязательный параметр, который может быть установлен в true
для принудительной перезагрузки с сервера, а не из кэша. По умолчанию параметр имеет значение false
, поэтому по умолчанию страница может перезагружаться из кэша браузера.
Это должно работать во всех браузерах даже без jQuery:
location.reload();
Существует много неограниченное количество способов обновить страницу с помощью 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
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>
Чтобы перезагрузить страницу с помощью jQuery, сделать:
$.ajax({
url: "",
context: document.body,
success: function(s,x){
$(this).html(s);
}
});
Подход здесь, что я использовал Ajax с помощью jQuery. Я испытал его на Хром 13. Тогда я поместите этот код в обработчик, который вызовет перезагрузку. В адрес это в ""
В, что означает в этом разделе.
Если текущая страница была загружена на POST-запрос, вы можете использовать
window.location = window.location.pathname;
вместо
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()
если вы хотите быстро и легко с кэшированием.
Три подхода с разным кешем, связанные с поведением:
местоположение.перезагрузка(истина)
В браузерах, которые реализуют параметр forcedReload в
месте.метода reload(), перезагружает запрашивая свежую копию страницы и все его ресурсы (скрипты, стили, картинки и т. д.). Не будет служить *любой* ресурсы из кэша - получает свежие копии с сервера, без отправки каких-либо
если-модифицированные-С " или " если-никто-матч` заголовков в запросе.
Эквивалентен пользователю делать "жесткий перезагрузка" в тех браузерах, где это's возможные.
Заметьте, что передача "True" на место.перезагрузка () поддерживается в Firefox (см. МДН) и Internet Explorer (см. [в MSDN](https://msdn.microsoft.com/en-us/library/ms536691(В=и 85).аспн)) но не поддерживается повсеместно и не является частью В3 с HTML 5 спецификации](http://www.w3.org/TR/html5/browsers.html#location), ни в В3 проект в HTML 5.1 спецификации, ни в WHATWG как средство HTML для жизни.
В unsupporting браузеры, такие как Гугл Хром, расположение.перезагрузка(истина)аналогично
расположение.перезагрузка()`.
местоположение.перезагрузка()
или местоположение.перезагрузка(накладные)
Перезагружает страницу, извлечения свежий, номера-сохраненная копия страницы HTML для себя, и выполняет РЧЦ 7234 переаттестация запросы на какие-либо ресурсы (например, скрипты), которые браузер в кэше, даже если они не свежие это RFC 7234 разрешений браузер для обслуживания их без перепроверки.
Точно, как браузер должен использовать свой кэш при выполнении местоположения.вызвать метод reload()` это'т указан и документально насколько я могу сказать; я определил поведение выше экспериментов.
Это равносильно тому, что пользователь просто нажав на "обновить" и кнопку в свой браузер.
местоположение = местоположение
(или бесконечно много других возможных технологий, которые подразумевают назначение расположение
или его свойства)Работает только если страница'ы url не'т содержать fragid/hashbang!
Перезагружает страницу без refetching или перепроверки любой свежие ресурсы из кэша. Если страница'ы в формате HTML сам свежий, это будет перезагрузить страницу без выполнения каких-либо HTTP-запросов на всех.
Это эквивалентно (с точки зрения кэширования) пользователю открытии страницы в новой вкладке.
Однако, если на странице'ы URL содержит хэш, это не будет иметь никакого эффекта.
Опять же, поведение кэширования здесь является неуказанным, насколько я знаю; я определил это путем тестирования.
Так, в резюме, которое вы хотите использовать:
окна.расположение.перезагрузка()
будет перезагрузить с сервера и загрузить все свои данные, скрипты, изображения и т. д. снова.
Так что, если вы просто хотите обновить HTML, в окне.расположение = документ.URL-адрес будет вернуться гораздо быстрее и с меньшим трафиком. Но это не будет перезагрузите страницу, если есть хэш (#) в URL-адресе.
Функция в jQuery нагрузки
также может выполнять обновления страницы:
$('body').load('views/file.html', function () {
$(this).fadeIn(5000);
});
Поскольку вопрос носит общий характер, пусть's попытаться обобщить возможные решения для ответа:
Простой JavaScript-решение:
Самый простой способ-это одно из решений линия, расположенная соответствующим образом:
location.reload();
То, что многие люди здесь отсутствует, потому что они надеются получить какие-то "очки" это то само перезагрузить (функция) предлагает логическое значение в качестве параметра (подробности: [https://developer.mozilla.org/en-US/docs/Web/API/Location/reload][1]).
расположение.перезагрузка() метод обновляет ресурсов из текущего URL-адрес. Факультативный уникальный параметр-это логическое значение, которое, когда оно правда, вызывает страницу, чтобы всегда быть загружена с сервера. Если это false или не указано, то браузер может перезагрузить страницу с его кэш.
Это означает, что есть два пути:
Решения1: сила перезагрузки текущей страницы с сервера
location.reload(true);
Solution2: перезагрузка из кэша или с сервера (на основе браузера и вашего конфига)
location.reload(false);
location.reload();
И если вы хотите сочетать его с jQuery в прослушивании случае, я бы рекомендовал использовать в ".на () на" вместо " по.нажмите кнопку" или другое событие фантики, например, более правильное решение будет:
$('#reloadIt').on('eventXyZ', function() {
location.reload(true);
});
[1]: https://developer.mozilla.org/en-US/docs/Web/API/Location/reload на "перезагрузку МДН-то"
Вот решение, которое асинхронно загружает страницы с помощью jQuery. Это позволяет избежать мерцания, вызванные окно.= окно местоположения.местоположение. Этот пример показывает, что страница постоянно перезагружается, как на панели. Это битва-проверено и работает на информационном дисплее ТВ на Таймс-Сквер.
<!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>
Примечания:
$.Аякс
как $.вам('',функция(данные){$(документ.тела).HTML-код(данные)})
<а href="https://stackoverflow.com/questions/21761931/google-hosted-libraries-is-unnecessarily-using-cache-breakers">причины и css/js-файлы, чтобы получить кэш-лопнул</а>, даже если вы используете кэш: правда, что's, почему мы используем parseHTML
див
Я нашел
window.location.href = "";
или
window.location.href = null;
также обновите страницу.
Это делает его намного проще перезагрузить страницу удаление любой хэш. Это очень приятно, когда я с помощью AngularJS в iOS симулятор, так что я Дон'т иметь, чтобы перезапустить приложение.
Вы можете использовать расположение на JavaScript.метод обновить ()
.
Этот метод принимает параметр типа boolean. true
или false
. Если параметра true; странице всегда загружена с сервера. Если это значение false
; по умолчанию или с пустыми браузера параметр перезагрузить страницу, из это'кэш.
С "истинного" параметра
<button type="button" onclick="location.reload(true);">Reload page</button>
С по умолчанию
/ ложные
параметр
<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();
По умолчанию, это будет перезагрузить страницу, используя кэш браузера (если существует)...
Если вы'd, как сделать силу перезагрузите страницу, просто пройти правда значение перезагрузка способ, как ниже...
window.location.reload(true);
Кроме того, если вы уже в области окна, вы можете избавиться от окна, и не делают:
location.reload();
использовать
location.reload();
или
window.location.reload();
Если вы используете jQuery и хотите обновить, а затем попробовать добавить свой jQuery в функцию JavaScript:
Я хотел, чтобы скрыть iframe в страницу при нажатии ой Ань, Н3, для меня это сработало, но я не'т возможность нажать на пункт, который позволил мне посмотреть на
элемент iframe`, чтобы начать с, если я обновил браузер вручную...не подходит.
Я попробовал следующий:
var hide = () => {
$("#frame").hide();//jQuery
location.reload(true);//javascript
};
Смешивая равнина Джейн на 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);
Все ответы здесь хорошие. Поскольку вопрос задает о перезагрузки страницы с [метки:в jQuery], я просто подумала, что добавлять что-то еще для будущих читателей.
в jQuery это кросс-платформенное библиотека JavaScript разработан, чтобы упростить клиентские скрипты в HTML.
<суп>~ Википедия ~</SUP и ГТ;
Так что вы'МР понять, что основа [тегу:jQuery с], или [тег:в jQuery] на основе [меткам:JavaScript-код]. Так что иду с чистой [тег:на JavaScript] это лучше, когда дело доходит до простых вещей.
Но если вам нужен [метка:решение на jQuery], здесь's один.
$(location).attr('href', '');