Это сайт — моя персональная записная книжка. Интересна мне, по большей части, история, своя жизнь и немного программирование.

location.reload() ≠ location.href=location.href

Увидел у Никиты Васильева во внутренних бложиках, что вызов «location.reload()» не эквивалентен присваиванию location.href в себя же. Оказывается, последний перезагружает страницу из кеша во всех браузерах, кроме «Оперы».

6 комментариев
Artemy Tregubenko (arty.name) 2011

логично: обновить страницу и перейти по адресу — разные действия

Евгений Степанищев (bolknote.ru) 2011

Комментарий для arty.name:

Логично, когда об этом знаешь. Когда не знаешь, то логикой до этого не дойти. Кроме того, в «Опере» это не так.

Artemy Tregubenko (arty.name) 2011

Комментарий для Евгения Степанищева:

по сравнению с тем, что несколько лет назад location.reload() на странице с #something в урле не делал ничего, это логичное поведение : )

Евгений Степанищев (bolknote.ru) 2011

Комментарий для arty.name:

А это на каком браузере?

Artemy Tregubenko (arty.name) 2011

Комментарий для Евгения Степанищева:

я сейчас уже не помню подробностей, вроде бы на всех

Guest 2011

Попробовал на 10.10.1893:

javascript:location.reload()
грузит из интернета эту страницу с ’#05’ в урле (check documents = always, при других не проверял)

javascript:location.href=location.href; void(0)
из-за ’#05’ ничего не делает, если убрать — грузит из интернета