¿Cómo habilitar el desplazamiento en un sitio web que deshabilita el desplazamiento? [cerrado]

104

¿Cómo volver a habilitar rápidamente el desplazamiento en un sitio web que ha deshabilitado el desplazamiento con Javascript? window.scrollBy (0, 100) funciona bien, pero parece que no puedo entender cómo vincular esto a las teclas o al desplazamiento del mouse.

CodeCamper
fuente
4
Depende en gran medida de cómo se haya desactivado. Obtenga eso primero.
Joseph
1
¿Es este tu propio sitio web? ¿O estás tratando de hacer esto con alguien más?
designcise
14
Probablemente estableciendo overflow: autoel bodyelemento. Puede probar esto con document.body.style.overflow = 'auto', o simplemente configurarlo como un estilo CSS en herramientas de desarrollo.
Bryan Downing
1
@JosephtheDreamer, independientemente de cómo se deshabilitó, window.scrollBy (0,100) está funcionando para mí en todos los sitios de prueba, así que estoy tratando de encontrar una manera efectiva de asignar esto a un botón de tecla o rueda de desplazamiento.
CodeCamper
¿Qué pasa con los sitios web en las que window.scrollBy(0,100)no no trabajar?
Michael

Respuestas:

127

En un navegador como Chrome, etc .:

  1. Inspeccione el código (por ejemplo, en Chrome press ctrl + shift + c);
  2. Establecer overflow: visibleen el elemento del cuerpo (por ejemplo, <body style="overflow: visible">)
  3. Busque / elimine cualquier JavaScripts que pueda estar comprobando habitualmente la eliminación de la overflowpropiedad:
    • Para encontrar dicho código JavaScript, puede, por ejemplo, revisar el código o hacer clic en un código JavaScript diferente en la consola del depurador de código y presionar backspaceen su teclado para eliminarlo.
    • Si tiene problemas para encontrarlo, simplemente puede intentar eliminar un par de JavaScripts (por supuesto, puede simplemente presionar ctrl + zpara deshacer el código que elimine, o presionar actualizar para comenzar de nuevo).

¡Buena suerte!

diseño
fuente
9
¿Acechando esos perfiles de LinkedIn en modo incógnito sin iniciar sesión? Es hora de la consola, bebé. <body>: ☐ o̶v̶e̶r̶f̶l̶o̶w̶:̶ ̶h̶i̶d̶d̶e̶n̶; la <section>superposición puede irse; Finalmente div # defensor de modelo : ☐ b̶a̶c̶k̶g̶r̶o̶u̶n̶d̶-̶c̶o̶l̶o̶r̶:̶ ̶r̶g̶b̶a̶(̶0̶,̶0̶,̶0̶,̶0̶.̶5̶)̶. 1, 2 y ... ¡Puf!
Leo
11
Además de configurar overflow: visible, también tuve que eliminar position: fixed. ¡Gracias!
wjandrea
1
He estado en sitios donde tienes que eliminar estilos en línea style="overflow:hidden"de la etiqueta del cuerpo.
Lei-Lonnie
1
En lugar de encontrar la secuencia de comandos de Java, simplemente seguí este truco rápido para deshabilitar la secuencia de comandos de Java por completo y funcionó para mí: developers.google.com/web/tools/chrome-devtools/javascript/…
user1084563
2
También encontré algunas páginas que están poniendo overflow: hiddenestilo en la <html>propia etiqueta en la parte superior de la página. Conviértelo en overflow: visibletambién.
Boud
41

agregar overflow:visible !important;al elemento del cuerpo funcionó para mí.

nerdgasmos
fuente
1
El OP solicitó javascript. Esto es CSS.
Liran Funaro
18
@LiranFunaro ¿Tu punto? Este CSS se puede insertar a través de JavaScript:document.body.style.overflow = "visible !important";
reformado
Aquí está tu respuesta, @LiranFunaro
Kamal Reddy
28

Pensé que ayudaría a alguien con esto.

Por lo general, puede pegar esto en la consola.

$("body").css({"overflow":"visible"});

O la versión solo de JavaScript:

document.body.style.overflow = "visible";

usuario1274820
fuente
24

Puede pegar el siguiente código en la consola para desplazarse hacia arriba o hacia abajo usando las teclas del teclado a / z. Si desea configurar sus propias claves, puede visitar esta página para obtener los códigos clave

function KeyPress(e) {
  var evtobj = window.event? event : e
  if (evtobj.keyCode == 90) {
    window.scrollBy(0, 100) 
  }
  if (evtobj.keyCode == 65) {
    window.scrollBy(0, -100) 
  }
}

document.onkeydown = KeyPress;
Sim futuro
fuente
Esto es perfecto
Alex L
7

Seleccione el Cuerpo usando las herramientas de desarrollo de Chrome (Inspeccionar) y cambie en el desbordamiento de css: visible,

Si eso no funciona, verifique el archivo css a continuación si es html, el cuerpo está configurado como desbordamiento: oculto, cámbielo como visible

Pranavjeet.Mishra
fuente
2

Prueba esto:

window.onmousewheel = document.onmousewheel = null
window.ontouchmove = null 
window.onwheel = null 
Kangaswad
fuente
1
Es posible que esto no siempre funcione si hay un script de sondeo que reasigna valores a cualquiera de ellos, ¡pero es una buena opción!
designcise
@designcise que sería muy tortuoso por su parte. Sin embargo, siempre puedes sondear más rápido. :)
Adam Thompson
1
@AdamThompson De hecho, he visto algunos sitios hacer eso ... especialmente algunos sitios que están muy empeñados en mostrarte anuncios
designcise
2

Pruebe su código para agregar 'script' en la última línea o haga que la consola de prueba (F12) habilite el desplazamiento

<script>
(function() {
  for (div=0; div < document.querySelectorAll('div').length; div++) {
    document.querySelectorAll('div')[div].style.overflow = "auto";
  };
})();
</script>
KingRider
fuente
1

Quería volver a habilitar automáticamente el desplazamiento en un sitio web que lo deshabilitó. La forma de hacer esto en Chrome es descargar "tapermonkey" y agregar este script:

https://greasyfork.org/en/scripts/387702-scroll-bar-enabler
Idodo
fuente
0

Una última cosa es comprobar Event Listeners> "scroll" y probar su eliminación.

Incluso si elimina el Javascript que los creó, los oyentes se quedarán y evitarán el desplazamiento.

Andrew Roberts
fuente
-3

Lo que funcionó para mí fue deshabilitar el position: fixed;CSS.

usuario14551412
fuente