#angular #typescript #caching #refresh #reload
Вопрос:
недавно до моего внимания дошло, что простое использование window.location.reload()
не является сложным обновлением, т. е. кэш очищается вместе с обновлением. Затем мне сказали использовать window.location.reload(true)
, но я обнаружил, что с тех пор это устарело.
Я не уверен, как определить, был ли кэш очищен, поэтому я чувствую, что любой метод, который обновляет страницу, просто не сократит ее для того, что мне нужно сделать, так как я не могу сказать, очищается ли кэш.
Я видел различные другие подходы, в том числе window.location.href = window.location.href;
, но видел комментарии, в которых говорилось, что это не очищает кэш.
Я видел, как люди говорили, что использование метода «POST» должно помочь, но я не уверен, как реализовать это в моем текущем коде. Я использую a MatSnackBar
, чтобы предложить пользователю обновить страницу, когда будет выпущена более новая версия приложения. Вот код для этой закусочной:
showSnackbar(versionFromHTTP: string, appVersion: string): void {
const httpList = versionFromHTTP.split('.');
const appList = appVersion.split('.');
if ((httpList[0] === appList[0]) amp;amp; (httpList[1] === appList[1])){
let snack = this.snackBar.open('We've made new updates! Please refresh your browser to get the latest updates.', 'Refresh now');
snack.onAction().subscribe(() => {
window.location.href = window.location.href;
});
}
else{
let snack = this.snackBar.open('We've made new updates - some features may not work correctly until you refresh your browser.', 'Refresh now');
snack.onAction().subscribe(() => {
window.location.href = window.location.href;
});
}
}
Комментарии:
1. Какова зависимость от кэша? когда вы создаете свое приложение Angular, разве вы не хэшируете сгенерированные пакеты?
2. @RiteshWaghela Привет, спасибо за комментарий. Я недавно начал новую работу в качестве разработчика в новой компании, так как только что закончил университет. Поэтому я не создавал это приложение сам, но сейчас работаю над ним, поэтому, боюсь, я не все понимаю в приложении. Но мой босс говорит, что если кэш не будет очищен, это может привести к тому, что закусочная не исчезнет после обновления.
3. Ваша проблема в том, что закусочная всегда видна при обновлении?
4. @RiteshWaghela не всегда, но это может случиться