Al igual que se anunciaron problemas por el famoso “efecto 2000” Y2K, tanto Mozilla como Google están avisando de que una importante cantidad de páginas web devuelven error a la hora de funcionar en navegadores que presenten una versión 100 – tres dígitos.
El problema se origina en que el número de versión del navegador se extrae como una cadena, no como un número entero:
var browser_version = "100";
var support_min_version = "90";
if (browser_version < support_min_version) {
console.log("too old");
} else {
console.log("supported");
}
// too old instead of supported as a result
Y dicha cadena para representar la versión ocupa dos caracteres:
ua = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:100.0) Gecko/20100101 Firefox/100.0"
// "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:100.0) Gecko/20100101 Firefox/100.0"
start = ua.indexOf('Firefox')
// 67
version = ua.substring(start + 8, start + 10)
// "10"
Con lo cual, si la versión que envía el navegador tiene tres caracteres: 100, tomaría los dos primeros interpretando que se encuentra ante una versión 10, la cual, al considerarse muy antigua sería rechazada y nos invitaría a actualizar el navegador sin llegar a mostrar la página.
La buena noticia es que tanto Mozilla como Google saben de dicho problema desde 2021 y ya están reportando todos los sites que no funcionarán con la versión 100 de ambos navegadores, aquí un hilo en Github con los reportes. Y atención porque hay webs como Yahoo o HBO.
La otra opción que barajan es retrasar al máximo dicha versión; Chrome la tenía prevista para el 29 de marzo y Mozilla para el 3 de mayo, hasta que el problema se haya subsanado por completo.
Fuentes: