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

304
Visualizações
Cambiar la URL de un botón de Squarespace según el dispositivo

Intentando cambiar la URL según el dispositivo para un botón de Squarespace. Vale la pena mencionar que el elemento se crea dinámicamente.

Obtuve la búsqueda por clase para trabajar, ya que no pude hacer que la búsqueda por identificación o el selector de consultas funcionaran. El problema ahora es que la búsqueda por clase genera una lista de nodos y parece que no puedo obtener un bucle for para seleccionar correctamente el href.

Puede ser algún otro problema que desconozco.

Este es el código que he probado hasta ahora.

 <div class="sqs-block button-block sqs-block-button" data-block-type="53" id="block-yui_3_17_2_1_1634189249286_8011"><div class="sqs-block-content" id="yui_3_17_2_1_1634205387553_330"> <div class="sqs-block-button-container--center" data-animation-role="button" data-alignment="center" data-button-size="small" id="yui_3_17_2_1_1634205387553_329"> <a href=“http:/google.com” class="sqs-block-button-element--small sqs-block-button-element" data-initialized="true">Learn more</a> </div> </div></div>

La clase del primer div es la encontrada por la búsqueda.

 <script> let n = document.getElementsByClassName("sqs-block button-block sqs-block-button"); for(var i=0; i < n.length; i++) { n[i].addEventListener("click", function(e) { if(e.target && e.target.nodeName == "a") { console.log("item clicked"); } }); } </script>

over 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Verifique su navigator.userAgent para ver si obtiene algún valor. Además, si su botón de descarga se carga dinámicamente, no se seleccionará así. Intente registrar en la consola el botón de descarga antes de su lógica if para ver el valor que obtiene.

Para apuntar a valores creados dinámicamente, marque Delegación de eventos: ¿Qué es la delegación de eventos DOM?

over 4 years ago · Juan Pablo Isaza Relatório

0

Encontré un freelancer en Upwork para terminar la tarea

 < script src = "https://code.jquery.com/jquery-3.6.0.slim.min.js" integrity = "sha256-u7e5khyithlIdTpu22PHhENmPcRdFiHRjhAuHcs05RI=" crossorigin = "anonymous" > < /script> < script > var operatingsystem = [{ name: 'iPhone', value: 'iPhone', version: 'OS' }, { name: 'iPad', value: 'iPad', version: 'OS' }, { name: 'Macintosh', value: 'Mac', version: 'OS X' }, ]; var requestHeader = [ navigator.platform, navigator.userAgent, navigator.appVersion, navigator.vendor, window.opera ]; function findDeviceOS(string, data) { var i = 0, j = 0, html = '', regex, regexv, match, matches, version; for (i = 0; i < data.length; i += 1) { regex = new RegExp(data[i].value, 'i'); match = regex.test(string); if (match) { regexv = new RegExp(data[i].version + '[- /:;]([\d._]+)', 'i'); matches = string.match(regexv); version = ''; if (matches) { if (matches[1]) { matches = matches[1]; } } if (matches) { matches = matches.split(/[._]+/); for (j = 0; j < matches.length; j += 1) { if (j === 0) { version += matches[j] + '.'; } else { version += matches[j]; } } } else { version = '0'; } return { name: data[i].name, version: parseFloat(version) }; } } return { name: 'unknown', version: 0 }; } var requestagent = requestHeader.join(' '); var operatingsystem = this.findDeviceOS(requestagent, operatingsystem); //unknown means user outside of apple device btn_link = 'https://apps.apple.com/us/app/rna-translation/id1508192093?ls=1' if (operatingsystem.name == 'unknown') { btn_link = 'https://android.com' } $(function() { $('#block-yui_3_17_2_1_1588401406921_37594 a').attr('href', btn_link); }); </script>

over 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
Assistente virtual