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

249
Vistas
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>

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

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?

about 4 years ago · Juan Pablo Isaza Denunciar

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>

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