В чем разница между JavaScript
window.location.href = window.location.href
и
window.location.reload()
функции?
javascript
Брайан
источник
источник
Если вы говорите,
window.location.reload(true)
браузер пропустит кэш и перезагрузит страницу с сервера.window.location.reload(false)
сделаем наоборотПримечание:
default
значениеwindow.location.reload()
ISfalse
источник
window.location.href = window.location.href
сделал трюк.location.reload()
илиlocation.reload(false)
. Чтобы сделать полное обновление страницы, используйтеlocation.reload(true)
.Разница в том, что
не будет перезагружать страницу, если в URL есть хеш (#) (с чем-либо или после него), тогда как
перезагрузит страницу.
источник
location.href = location.href
само собой разумеющимся, но я просто заметил такое поведение и пришел к ТАК, чтобы распространить информацию. Просто используйтеlocation.reload()
вместо этого.window.location.replace(window.location.pathname);
Если вы добавите логическое значение true для перезагрузки,
window.location.reload(true)
оно будет загружено с сервера.Не ясно , как поддерживается этот логический том, W3Org упоминает , что NS используется для поддержки его
МОЖЕТ быть разница между содержимым window.location.href и document.URL - по крайней мере, раньше было различие между location.href и нестандартным и устаревшим document.location , связанным с перенаправлением, но это действительно последнее тысячелетие.
В целях документации я бы использовал window.location.reload (), потому что это то, что вы хотите сделать.
источник
Как уже было сказано, изменение href при наличии хеша (#) в URL не приведет к перезагрузке страницы. Таким образом, я использую это для перезагрузки вместо регулярных выражений:
источник
Столкнулся с этим вопросом, исследуя какое-то ненормальное поведение в IE, в частности IE9, не проверял старые версии. Похоже на то
приводит к обновлению, которое отключает весь экран на секунду, где, как
обновляет страницу намного быстрее, почти незаметно.
Проведя немного больше исследований и поэкспериментировав с fiddler, кажется, что он
window.location.reload()
будет обходить кеш и перезагружаться с сервера независимо от того, передаете ли вы логическое значение с ним или нет, это включает получение всех ваших ресурсов (изображений, скриптов, таблиц стилей, и т.д.) еще раз. Поэтому, если вы просто хотите, чтобы страница обновляла HTML,window.location = document.URL
она вернется гораздо быстрее и с меньшим трафиком.Различие в поведении между браузерами заключается в том, что когда IE9 использует метод перезагрузки, он очищает видимую страницу и, по-видимому, перестраивает ее с нуля, где FF и chrome ждут, пока они получат новые ресурсы, и восстановят их, если они будут другими.
источник
Отличие в Firefox (12.0) состоит в том, что на странице, отображаемой из POST, reload () выдаст предупреждение и сделает повторную публикацию, в то время как назначение URL выполнит GET.
Google Chrome делает GET для обоих.
источник
Используя JSF, у меня теперь есть проблема с обновлением после истечения сеанса: PrimeFaces ViewExpiredException после перезагрузки страницы, и с некоторыми исследованиями я обнаружил одно отличие в FireFox:
Вызов
window.location.reload()
работает как нажатие значка обновления на FF, добавляет строкуCache-Control max-age=0
хотя настройка
window.location.href
работает как нажатие клавиши ENTER в строке URL, она не отправляет эту строку.Хотя оба они отправляются как GET, первый (перезагрузка) восстанавливает предыдущие данные, и приложение находится в несогласованном состоянии.
источник
Нет, не должно быть. Тем не менее, возможно, что в некоторых браузерах есть различия, поэтому либо (либо ни один) может не работать в некоторых случаях.
источник
из моего опыта около 3 лет я не смог найти никакой разницы ...
edit: да, как сказал один из них, разница только в передаче логического параметра в window.location.reload (). если вы передаете true , то браузер загружает новую страницу, но если false , то загружается версия кеша ...
источник
В нашем случае мы просто хотим перезагрузить страницу в веб-просмотре, и по некоторым причинам мы не могли понять почему! Мы пробуем почти все решения, которые были в сети, но застряли без перезагрузки, используя location.reload () или альтернативные решения, такие как window.location.reload (), location.reload (true), ...!
Вот наше простое решение:
Просто используйте тег <a> с пустым значением атрибута "href", например так:
(в некоторых случаях вы должны использовать «return true» при нажатии на цель, чтобы вызвать перезагрузку)
Для получения дополнительной информации проверьте этот вопрос: действителен ли пустой href?
источник
window.location.href, это как спасло мою жизнь в веб-просмотре от Android 5.1. Страница не перезагружается с помощью location.reload () в этой версии с Android.
источник