Принудительное обновление страницы с использованием Javascript в Firefox - PullRequest
8 голосов
/ 08 октября 2009

У меня есть простая просьба обновить страницу, используя приведенный ниже код Javascript:

function tb_closeRefresh() {
    window.location.reload(true);
}

Это нормально работает в IE, но Firefox просто получает кэшированную версию и требует, чтобы пользователь нажал клавишу F5, чтобы получить последнюю версию страницы.

Я добавил метатег:

<meta http-equiv="Pragma" content="no-cache"> 

Но это не помогает.

Есть идеи ???

Ответы [ 7 ]

11 голосов
/ 08 октября 2009

вы можете вызвать ту же страницу, но пусть она будет выглядеть как другая страница, изменив строку запроса:

window.location.href = "index.html" + "?" + Date.parse(new Date());

Это работает для любого браузера. Вы можете улучшить его, извлекая текущую страницу из location.href.

Edit:

Если у вас уже есть существующая строка запроса, вы должны использовать & insead из ?:

window.location.href = "product.aspx?id=prod" + "&" + Date.parse(new Date());
9 голосов
/ 08 октября 2009

Если вы хотите обновить, вы можете сбросить window.location на window.location.

window.location = window.location

Назначение window.location выполнит перенаправление, а поскольку window.location возвращает текущее местоположение, приведенный выше оператор будет действовать как перенаправление.

2 голосов
/ 08 октября 2009

1001 * попробовать *

function page_reload() 
{ 
   window.location = 'http://domain.com/page.php'; 
}

или

<a href="javascript:history.go(0);">Click here to refresh the page</a>
1 голос
/ 20 ноября 2009

Я не думаю, что Firefox поддерживает перезагрузку, вы должны использовать:

var myUrl = window.location;
window.location.replace(myUrl)

Я обнаружил, что это работает в IE, Apple Safari и Firefox. Кажется, он не работает в Firefox на Mac.

0 голосов
/ 23 сентября 2015

Документы говорят использовать:

window.location.reload(true);

https://developer.mozilla.org/en-US/docs/Web/API/Location/reload

Должно работать во всех браузерах, включая мобильные.

0 голосов
/ 27 октября 2014

Вы можете использовать этот код ниже для вашей проблемы

window.location.href = window.location.href + '?refresh';

Но вам нужно использовать "Pushstate" для обновления URL, пожалуйста, смотрите это для более подробной информации window.history.pushState обновляет браузер

0 голосов
/ 24 августа 2012

может это сработает?:

<meta http-equiv="Cache-control" content="no-cache">
<meta http-equiv="Cache-control" content="no-store">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...