¿Cómo deshabilitar el desplazamiento del cuerpo del documento?

Tengo un HTML que tiene mucho contenido y una barra de desplazamiento vertical aparece tan pronto como se carga el HTML. Ahora desde este HTML, se carga un IFRAME de pantalla completa. El problema es que cuando se carga el IFRAME, la barra de desplazamiento principal aún persiste, quiero desactivar la barra de desplazamiento cuando se carga el Iframe.

Lo intenté:

  • document.body.scroll = "no" , no funcionó con FF y Chrome.
  • document.style.overflow = "hidden"; después de esto, aún podía desplazarme, y todo el iframe se desplazaría hacia arriba para revelar el HTML principal.

Mi requisito es que, cuando se cargue IFRAME, nunca seamos capaces de desplazar todo el IFRAME si el HTML padre tiene una barra de desplazamiento.

¿Algunas ideas?

Si desea usar la barra de desplazamiento del iframe y no la de los padres, use esto:

 document.body.style.overflow = 'hidden'; 

Si quieres usar la barra de desplazamiento de los padres y no el iframe, entonces necesitas usar:

 document.getElementById('your_iframes_id').scrolling = 'no'; 

o establezca el atributo scrolling="no" en la etiqueta de su iframe: .

con css

 body,html{ overflow:hidden } 

El siguiente JavaScript podría funcionar:

 var page = $doc.getElementsByTagName('body')[0]; 

Para desactivar el uso de desplazamiento:

 page.classList.add('noscroll'); 

Para habilitar el uso de desplazamiento:

 page.classList.remove('noscroll'); 

En el archivo CSS, agregue:

 .noscroll { position: fixed!important } 

agregar este css

 body.disable-scroll { overflow: hidden; } 

y cuando deshabilitar ejecutar este código

 $("body").addClass("disable-scroll"); 

y cuando habilitar habilitado este código

 $("body").removeClass("disable-scroll") 

Respuesta: document.body.scroll = ‘no’;