Различия между способами перегрузки страниц

window.location.reload()
history.go(0)
window.location.href=window.location.href

Я заметил, что сайт комментирует, что все три из этих методов могут быть использованы для перезагрузки страницы. Не довольствуясь доверием, я пробовал все 3 метода в IE8, FF3 и Opera 10. Я заметил, что firefox выполнил перезагрузку кеша вместо реальной перезагрузки для history.go(0), но в остальном не видел различий. Тем не менее, я думал, что попрошу сообщество рассказать о различиях между этими методами.

Ответ 1

Основное различие между window.location.reload() и window.location.href= window.location.href заключается в том, что первый будет повторно отправлять данные POST, если они существуют (браузер спросит вас, хотите ли вы перезагрузить страницу и повторно отправить данные), второй просто изменит URL-адрес, игнорируя любые данные POST.

Что касается history.go(0), мы используем объект history, поэтому браузеры могут использовать кешированную версию страницы, хранящуюся где-то в памяти.