Как я могу обновить страницу с помощью jQuery?
Как я могу обновить страницу с помощью jQuery?
21 ответ:
использовать
location.reload()
:$('#something').click(function() { location.reload(); });
The
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. Я проверил его на хром 13. Затем я помещаю код в обработчик, который вызовет перезагрузку. Элемент URL и
""
, что означает на этой странице.
если текущая страница была загружена запросом 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 файлы, чтобы получить cache-busted, даже если вы используетеcache: true
, вот почему мы используемparseHTML
parseHTML
не нашелbody
tag так что все ваше тело должно пойти в дополнительный div, я надеюсь, что этот самородок знаний поможет вам однажды, вы можете догадаться, как мы выбрали id для этогоdiv
- использовать
http-equiv="refresh"
на всякий случай, если что-то пойдет не так с javascript/server hiccup, то страница все равно перезагрузится без вашего телефонного звонка- этот подход, вероятно, утечка памяти каким-то образом,
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);
также, если вы уже находитесь в объем окна, вы можно избавиться от окна и сделать:
location.reload();
если вы используете jQuery и хотите обновить, попробуйте добавить свой jQuery в функцию javascript:
Я хочу, чтобы скрыть элемент iframe со страницы при нажатии ой элемент
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 feeling на ваш код и вы не заботитесь о скорость/производительность кодекса.
просто выберите от 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. Так что идем с чистым javascript лучше, когда дело доходит до простых вещей.
но если вам нужен jquery решение, вот одна.
$(location).attr('href', '');