Wie aktiviere ich das Scrollen auf einer Website, die das Scrollen deaktiviert hat? [geschlossen]

103

Wie kann ich das Scrollen auf einer Website, auf der das Scrollen mit Javascript deaktiviert ist, schnell wieder aktivieren? window.scrollBy (0, 100) funktioniert einwandfrei und scheint nicht herauszufinden, wie dies an Tasten oder Mausrollen gebunden werden kann.

CodeCamper
quelle
4
Hängt stark davon ab, wie es deaktiviert wurde. Holen Sie sich das zuerst.
Joseph
1
Ist das deine eigene Website? Oder versuchen Sie dies bei jemand anderem zu tun?
Designcise
14
Wahrscheinlich durch Einstellen overflow: autoauf das bodyElement. Sie können dies mit testen document.body.style.overflow = 'auto'oder es einfach als CSS-Stil in Entwicklertools festlegen.
Bryan Downing
1
@JosephtheDreamer unabhängig davon, wie es deaktiviert wurde window.scrollBy (0,100) funktioniert für mich auf allen Testseiten, daher versuche ich, einen effektiven Weg zu finden, um dies einer Tastenschaltfläche oder einem Scrollrad zuzuweisen.
CodeCamper
Was ist Web - Sites , wo window.scrollBy(0,100)sie nicht arbeiten?
Michael

Antworten:

126

In einem Browser wie Chrome usw.:

  1. Überprüfen Sie den Code (z. B. in Chrome Press ctrl + shift + c).
  2. Setzen Sie overflow: visibleauf das Körperelement (für zB <body style="overflow: visible">)
  3. Suchen / Entfernen von JavaScripts, die routinemäßig auf das Entfernen der overflowEigenschaft prüfen :
    • Um einen solchen JavaScript-Code zu finden, können Sie beispielsweise den Code durchgehen oder auf einen anderen JavaScript-Code in der Code-Debugger-Konsole klicken und backspaceauf Ihre Tastatur klicken , um ihn zu entfernen.
    • Wenn Sie Probleme haben, es zu finden, können Sie einfach versuchen, ein paar JavaScripts zu entfernen (Sie können natürlich einfach drücken ctrl + z, um den gelöschten Code rückgängig zu machen, oder auf Aktualisieren klicken, um von vorne zu beginnen).

Viel Glück!

designcise
quelle
9
Stalking diese LinkedIn-Profile Inkognito-Modus ohne Vorzeichen? Es ist Konsolenzeit, Baby. <body>: ☐ o̶v̶e̶r̶f̶l̶o̶w̶:̶ ̶h̶i̶d̶d̶e̶n̶; das <section>Overlay kann gehen; endlich div # advocate-model : ☐ 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 und ... Poof!
Leo
11
Neben der Einstellung overflow: visiblemusste ich auch löschen position: fixed. Vielen Dank!
Wjandrea
1
Ich war auf Websites, auf denen Sie Inline-Stile style="overflow:hidden"aus dem Body-Tag löschen müssen .
Lei-Lonnie
1
Anstatt das Java-Skript zu finden, habe ich diesen schnellen Trick befolgt, um das Java-Skript vollständig zu deaktivieren, und das hat bei mir funktioniert: developer.google.com/web/tools/chrome-devtools/javascript/…
user1084563
2
Es wurden auch einige Seiten gefunden, die overflow: hiddendem <html>Tag selbst oben auf der Seite Stil verleihen. Verwandle es auch in overflow: visible.
Boud
41

Das Hinzufügen overflow:visible !important;zum Körperelement hat bei mir funktioniert.

Nerdgasmen
quelle
1
Das OP forderte Javascript an. Das ist CSS.
Liran Funaro
18
@LiranFunaro Dein Punkt? Dieses CSS kann über JavaScript eingefügt werden:document.body.style.overflow = "visible !important";
Reformiert
Hier ist deine Antwort: @LiranFunaro
Kamal Reddy
28

Ich dachte nur, ich würde jemandem dabei helfen.

Normalerweise können Sie dies einfach in die Konsole einfügen.

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

Oder die Nur-Javascript-Version:

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

user1274820
quelle
23

Sie können den folgenden Code in die Konsole einfügen, um mit den Tastaturtasten a / z nach oben / unten zu scrollen. Wenn Sie Ihre eigenen Schlüssel festlegen möchten, können Sie diese Seite besuchen , um die Schlüsselcodes zu erhalten

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;
Zukünftiger Sim
quelle
Das ist perfekt
Alex L
7

Wählen Sie den Körper mit Chrome Dev Tools (Inspect) aus und ändern Sie den CSS-Überlauf: sichtbar,

Wenn das nicht funktioniert, checken Sie unter der CSS-Datei ein, wenn HTML, Body als Überlauf festgelegt ist: versteckt, ändern Sie es als sichtbar

Pranavjeet.Mishra
quelle
2

Versuche dies:

window.onmousewheel = document.onmousewheel = null
window.ontouchmove = null 
window.onwheel = null 
kangaswad
quelle
1
Dies funktioniert möglicherweise nicht immer, wenn ein Abfrageskript Werte neu zuweist, aber eine gute Option!
Designcise
@designcise das wäre sehr hinterhältig von ihnen. Sie können jedoch immer schneller abfragen. :)
Adam Thompson
1
@ AdamThompson Ich habe tatsächlich einige Websites gesehen, die das tun. Besonders einige Websites, die sehr darauf aus sind, Ihnen Anzeigen zu zeigen
designcise
2

Versuchen Sie Ihren Code, um hinzuzufügen, dass 'Skript' die letzte Zeile ist, oder aktivieren Sie die Bildlaufkonsole (F12)

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

Ich wollte das Scrollen auf einer Website, die es deaktiviert hat, automatisch wieder aktivieren. Die Möglichkeit, dies in Chrome zu tun, besteht darin, "tapermonkey" herunterzuladen und dieses Skript hinzuzufügen:

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

Eine letzte Sache ist, nach Ereignis-Listenern> "Scrollen" zu suchen und das Löschen zu testen.

Selbst wenn Sie das Javascript löschen, mit dem sie erstellt wurden, bleiben die Listener erhalten und verhindern das Scrollen.

Andrew Roberts
quelle
-3

Was für mich funktioniert hat, war das Deaktivieren des position: fixed;CSS.

user14551412
quelle