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

87
Visualizações
Reaccionar redirigir en nueva pestaña programáticamente

Estoy tratando de abrir una nueva pestaña con una URL determinada mediante programación en React.

 const navigate = (href) => { try { $(`<a href="${href}" target="_blank"></a>`)[0].click(); } catch (ex) { console.log(ex); window.open(href, `_newtab${Math.floor(Math.random() * 999999)}`) || window.location.replace(href); } };

La solución jQuery funciona mejor, sin embargo, no siempre funciona; por ejemplo, en Safari en iPhones, esto no hace nada.

los

 window.open(href, `_newtab${Math.floor(Math.random() * 999999)}`) || window.location.replace(href);

es menos efectivo ya que a veces abre una ventana emergente y, a veces, abre el nuevo enlace en la misma pestaña que mi aplicación. Sin embargo, funciona en todos los dispositivos.

Lo que me gustaría hacer es probar primero la solución jQuery, y si esto no hace nada, active la segunda opción como respaldo.

Sin embargo, noté que cuando

 $(`<a href="${href}" target="_blank"></a>`)[0].click();

falla en el iPhone, en realidad no activa una excepción, por lo que el bloque catch nunca se ejecuta.

¿Hay otra manera de abordar esto?

Miré esta pregunta para crear la función anterior: javascript window.ubicación en una nueva pestaña

about 4 years ago · Juan Pablo Isaza
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