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

135
Vistas
evitar que iframe se desplace por el documento principal al llamar al foco

Tengo un iframe que llama a someElement.focus . Cuando esto sucede, el padre se desplaza para mostrar el iframe. ¿Cómo puedo evitar que el padre se desplace? Efectivamente, quiero que el propio iframe se desplace de modo que, dentro del iframe, el elemento correcto se desplace al espacio del propio iframe, pero la página principal no debería verse afectada.

 const lines = new Array(100).fill(0).map((e,i) => i).join('\n') const script = 'script'; const frameContent = ` <style> pre { font-size: 60pt; } </style> <body> <pre>${lines}</pre> <input type="text" id="target"> </body> <${script}> document.querySelector('#target').focus(); </${script}> `; document.querySelector('pre').textContent = lines; const iframe = document.querySelector('iframe'); iframe.src = URL.createObjectURL(new Blob([frameContent], {type: 'text/html'}));
 <style> pre { font-size: 60pt; } } </style> <div>you should see this element</div> <pre></pre> <iframe></iframe> <div>you should NOT be scrolled to see this element</div>

Para mí, tiene sentido que llamar al foco mueva el área de entrada a la pantalla, pero al mismo tiempo, no tiene sentido para mí que cualquier iframe aleatorio pueda hacer que la página principal salte a él a pedido llamando al foco.

¿Es posible evitar que el iframe afecte al padre?

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

0

Puede intentar pasar opciones al establecer el enfoque:

 document.querySelector('#target').focus({preventScroll: true});

La opción preventScroll se describe en los documentos de MDN en HTMLElement.focus() .

Tenga en cuenta que es probable que esto solo funcione para iframes del mismo origen.

Los navegadores aplican restricciones que pueden impedir que se respete la opción preventScroll dentro de iframes de origen cruzado/de terceros.

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