without una scrolling remove has hacer eliminar don como bars javascript html dom iframe scrollbar

scrolling - ¿Cómo puedo detectar una presencia de Scrollbar(usando Javascript) en HTML iFrame?



iframe no scrolling bars (6)

Con jQuery puede comparar la altura del documento, la posición scrollTop y la altura de la ventana gráfica, lo que podría darle la respuesta que necesita.

Algo como:

$(window).scroll(function(){ if(isMyStuffScrolling()){ //There is a scroll bar here! } }); function isMyStuffScrolling() { var docHeight = $(document).height(); var scroll = $(window).height() + $(window).scrollTop(); return (docHeight == scroll); }

¿Cómo puedo detectar una presencia de Scrollbar (usando Javascript) en HTML iFrame?

Ya lo he intentado:

var vHeight = 0; if (document.all) { if (document.documentElement) { vHeight = document.documentElement.clientHeight; } else { vHeight = document.body.clientHeight } } else { vHeight = window.innerHeight; } if (document.body.offsetHeight > vHeight) { //when theres a scrollbar }else{ //when theres not a scrollbar }

Y también lo había intentado:

this.scrollLeft=1; if (this.scrollLeft>0) { //when theres a scrollbar this.scrollLeft=0; }else{ //when theres not a scrollbar return false; }

Sin éxito ...

He buscado los objetos de Javascript en DOM Inspector , pero no encontré nada.

¿Es posible detectar una presencia de barra de desplazamiento en un iframe en javacscript?

El contenido del iframe proviene del mismo dominio.

Sin éxito hasta ahora ...

texto alternativo http://www.upvtp.com.br/file.php/1/help_key.jpg


Creo que tu segundo intento está en el camino correcto. Excepto en lugar de this , debe intentar desplazarse / verificar document.body .


Descubrí que esto funciona en cualquier elemento, al menos en Chrome:

hasVerticalScrollbar = (element.scrollHeight > element.offsetHeight) || (element.scrollHeight > element.clientHeight

Las barras de desplazamiento horizontales se pueden detectar de la misma manera, usando Width lugar de Height .


No creo que esto pueda hacerse si el contenido del iframe proviene de otro dominio debido a las limitaciones de seguridad de JavaScript.

EDITAR: En ese caso, algo en la línea de darle al iframe un nombre = ''someframe'' e id = ''someframe2'' y luego comparar fotogramas [''someframe'']. Document.body.offsetWidth con document.getElementById (''someframe2'') .offsetWidth debería darle la respuesta.


$(window).scroll(function(){ if(isMyStuffScrolling()){ //scrolling }else{ //not scrolling } }); function isMyStuffScrolling() { var docHeight = $(document).height(); var scroll = $(window).height() ;//+ $(window).scrollTop(); if(docHeight > scroll) return true; else return false; }

mejorado: cambiado un poco con el código Winstanley de Jon


var root= document.compatMode==''BackCompat''? document.body : document.documentElement; var isVerticalScrollbar= root.scrollHeight>root.clientHeight; var isHorizontalScrollbar= root.scrollWidth>root.clientWidth;

Esto detecta si hay una necesidad de una barra de desplazamiento. Para el valor predeterminado de iframes, esto es lo mismo que si hay una barra de desplazamiento, pero si las barras de desplazamiento están activadas o desactivadas (usando el atributo ''scrolling ='' yes ''/'' ''no'' ''en el documento padre, o CSS overflow: scroll / hidden ''en el documento iframe) entonces esto puede diferir.