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

357
Vistas
Deshabilite todos los enlaces dentro de IFRAME usando jQuery

Quiero deshabilitar todos los enlaces dentro de un IFRAME, cuando las personas hagan clic en esos enlaces, aparecerá una alerta.

Esto es lo que tengo hasta ahora, pero jQuery no hace nada. No estoy seguro de lo que hice mal.

 <iframe id='templateframe' name='templateframe' src="templates/template<?php echo $templateID; ?>/login.html"></iframe> $(document).ready(function(){ $('#templateframe').contents().find('a').click(function(event) { alert("demo only"); event.preventDefault(); }); });

Gracias por adelantado.

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Espero que $(document).ready se ejecute antes de que se haya cargado el contenido del iframe. Intente usar el atributo onload para el iframe en su lugar.

over 4 years ago · Santiago Trujillo Denunciar

0

También estaba buscando deshabilitar los enlaces iframe y no pude encontrar una solución. Gracias a HTML5, puede deshabilitar fácilmente los enlaces simplemente agregando el atributo sandbox .

 <iframe src="externalsite.com" sandbox></iframe>

ver demostración

Espero que esto ayude a alguien que busca en la red, especialmente porque esta pregunta aparece primero en Google.

over 4 years ago · Santiago Trujillo Denunciar

0

La solución mencionada por "lol" en realidad funciona bastante bien. Me topé con esto accidentalmente después de trabajar en esto durante un par de horas...

Coloque su iframe dentro de un elemento div, luego haga que el div sea transparente y empuje el índice z del iframe detrás del div. Mira este ejemplo:

 <div class="container"> <iframe class="lockframe" src="www.google.com"></iframe> </div>

Luego configure su css de esta manera:

 div.container { background: transparent; } iframe.lockframe { z-index: -2; }

Cargue su página y el div es lo que aceptará los eventos de clic, no el iframe.

over 4 years ago · Santiago Trujillo 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