2010-04-12 3 views
101

Какой способ перезагрузить текущую страницу (используя кнопку), вы бы предпочли?Предпочтительный способ перезагрузки страницы с помощью JavaScript?

1 <input type="button" value="Reload" onClick="history.go(0)"> 
2 <input type="button" value="Reload" onClick="location.reload(true)"> 
3 <input type="button" value="Reload" onClick="window.location.reload(true)"> 
4 <input type="button" value="Reload" onClick="window.location.href=window.location.href"> 
5 <input type="button" value="Reload" onClick="document.location.reload(true)"> 
6 <input type="button" value="Reload" onClick="document.location.href=document.location.href"> 

Как URL страницы часто меняется AFAIK а 'запасной вариант функции', как

<a href="urlOfCurrentPage.html" onclick="window.location.reload(true);return false;">Reload</a> 

не будет работать для меня, не так ли?

+0

Обратите внимание, что числа 2 и 3 одно и то же –

+0

Спасибо за подсказку, Матти! – Mel

+3

Число 4 и 6 ничего не перезагружают, если в URL-адресе присутствует # – jontro

ответ

55

В зависимости от того, что вы хотите сделать. Четвертый и шестой методы там не будут перезагружать данные любой формы, они по сути делают отдельный визит на страницу. Некоторые версии Firefox также имеют проблемы с третьим методом. Помимо этого, я бы пошел с пятым как личное предпочтение. Это кажется самым ясным.

+0

Второй способ (.reload) не работает в некоторых случаях. – Aristos

+0

так, "document.location.reload (true)" является безопасным для перекрестного браузера и наиболее надежным? – Mel

+0

@Mel, я так считаю. Действительно, окна и документы должны работать. – tloflin

30

Вы также можете сделать:

wd представляет окно || документ:

  • wd.location.assign (wd.location.href): перейти к URL
  • wd.location.replace (wd.location.href): перейти к URL и заменить предыдущую страницу в истории
  • wd.location.reload (< истина/ложь/пустой >): перегрузить страницу с сервера/кэш/кэш
Смежные вопросы