Recientemente me llamó la atención que simplemente usar window.location.reload() no es una actualización completa, es decir, el caché se borra junto con la actualización. Luego me dijeron que usara window.location.reload(true) pero descubrí que esto ha quedado obsoleto desde entonces.
No estoy seguro de cómo determinar si el caché se ha borrado o no, por lo que creo que cualquier método que actualice la página simplemente no servirá para lo que debo hacer, ya que no puedo saber si se está borrando el caché.
He visto varios otros enfoques, incluidos window.location.href = window.location.href; pero he visto comentarios que dicen que esto no borra el caché.
He visto a personas decir que usar un método "POST" debería funcionar, pero no estoy seguro de cómo implementar esto en mi código actual. Estoy usando MatSnackBar para solicitar al usuario que actualice la página cuando se publique una versión más nueva de la aplicación. Aquí está el código para ese SnackBar:
showSnackbar(versionFromHTTP: string, appVersion: string): void { const httpList = versionFromHTTP.split('.'); const appList = appVersion.split('.'); if ((httpList[0] === appList[0]) && (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; }); } }