Problemas por el efecto “Versión 100” en navegadores

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:

TechSpot

Otsukare