Quando una pagina carica un iframe con un URL che termina con un #, la pagina padre scorre in modo che il corpo dell'iframe si trovi nella parte superiore della finestra del browser.Evita l'ancoraggio # in un iframe dallo scorrimento della finestra del browser
Demo: http://jsfiddle.net/dTQEE/1/
Se l'URL termina in #
, per esempio http://foo.com#
, il browser presume che tu voglia andare in cima alla pagina.
Come si impedisce alla finestra padre di scorrere quando viene caricato un iframe con un frammento hash?
Il problema si verifica in Chrome, non so se si tratta di un problema in altri browser.
In questo momento la soluzione migliore che ho è quello di utilizzare el.addEventListener('scroll', ...)
per ripristinare il scrollTop
-0 se non è già 0. Questo funziona, ma il rotolo verso il basso e l'scorrimento verso l'alto sono entrambi molto evidente.
Come stai ottenendo l'URL per il frame? Non è possibile controllare/modificare prima di caricarlo? – sdleihssirhc
Grazie per il suggerimento, ma il # potrebbe avere un significato per il sito Web che lo riceve. JS sulla pagina all'interno dell'iframe potrebbe usarlo, quindi non posso semplicemente toglierlo completamente. –
è stato risolto per te? –