Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

218
Vistas
Racionalización de las condiciones de la declaración if para incluir una declaración <=

Se las arregló para usar una respuesta de la pregunta de otra persona hace 11 años ( ¿Cómo puede detectar la versión de un navegador? ) navegadores de fecha (mi declaración if se copia a continuación).

Lo que me pregunto es si hay una forma más sencilla de anotar la versión <= Safari 12 para que se detecte Safari 11, 10, 9, etc. en lugar de hacer la cadena de o || condicionales uno tras otro.

 if (navigator.sayswho === 'Safari 12' || navigator.sayswho === 'Safari 11' || navigator.sayswho === 'Safari 10' || navigator.sayswho === 'Safari 9') { alert('Your browser ('+ navigator.sayswho +') is out of date, some features of our website may not work with your browser version.\r\n Please update your browser to ensure compatibility with our online product forms.\r\n\r\n'); }

Funciona, pero estoy tratando de aprender cómo hacerlo un poco más elegante y simplificado en términos de código. Gracias por cualquier entrada que pueda proporcionar. Stackoverflow ha hecho que mi viaje hacia el desarrollo y la administración de sitios web sea mucho más productivo y agradable durante el último año. Saludos a todos.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Una prueba de expresión regular hará el truco.

 if (/Safari (?:12|11|10|9)/.test(navigator.sayswho)) {

Otro enfoque sería hacer coincidir los dígitos finales y luego verificar si están dentro del rango.

 const match = navigator.sayswho.match(/Safari (\d+)/); const num = match ? Number(match[1]) : 0; if (num <= 12 && num > 9) {
about 4 years ago · Juan Pablo Isaza Denunciar

0

Recomendaría cambiar el cheque a:

 const browser_list = [ 'Safari 12', 'Safari 11', 'Safari 10', 'Safari 9' ]; if (browser_list.includes(navigator.sayswho)) { // etc. }

Esto es legible, mantenible y se puede cambiar fácilmente en el futuro para nuevos navegadores y versiones.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda