Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

222
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda