Salve a tutti! Ho un fastidiosissimo problema... cliccando su un link all'interno della pagina mi viene visualizzata un'immagine a tutto schermo aggiungendo qualche nodo al dom.
Dato che non voglio che la pagina sia scrollabile verticalmente ho utilizzato "overflow:hidden" per nascondere la barra di scorrimento. Quando si clicca sull'immagine questa viene chiusa e viene ripristinata sulla pagina la situazione originale, ossia con la barra di scorrimento verticale (se necessaria) tramite "overflow:auto". Queste due operazioni di modifica del css dinamicamente vengono fatte sul body. Ora, questa tecnica funziona alla perfezione su tutti i browser, tranne safari! sia su mac che su win... come cavolo è possibile?!? cioè, la barra scompare quando viene visualizzata l'immagine (overflow:hidden funziona) ma quando chiudo l'immagine la barra non è più visibile!!! Piccolo bug... se scrollo con la rotella del mouse riappare magicamente e mi scrolla la pagina, invece se premo le frecce direzionali da tastiera non succede nulla... ma com'è possibile?!? ho provato con tutti gli overflow, per scrupolo... così:
document.getElementsByTagName('body')[0].style.overflow = 'auto';
document.getElementsByTagName('html')[0].style.overflowY = 'auto';
document.getElementsByTagName('html')[0].style.overflowX = 'auto';
Ho letto che bisogna modificare il tag html quando usi overflowX o overflowY anzichè il body. Cmq ho provato anche sostituendo html con body e non funziona ugualmente... qualcuno saprebbe darmi una mano?
Grazie mille!!