Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

224
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!