Jak włączyć przewijanie w witrynie, która wyłączyła przewijanie? [Zamknięte]


114

Jak szybko ponownie włączyć przewijanie w witrynie, która wyłączyła przewijanie za pomocą JavaScript? window.scrollBy (0, 100) działa dobrze, ale wydaje się, że nie wiem, jak powiązać to z klawiszami lub przewijaniem myszy.


4
W dużej mierze zależy od tego, jak został wyłączony. Zdobądź to pierwszy.
— Joseph,

1
Czy to Twoja własna witryna? Albo próbujesz to zrobić na kimś innym?
— designcise,

17
Prawdopodobnie poprzez ustawienie overflow: autona bodyelemencie. Możesz to przetestować document.body.style.overflow = 'auto'lub po prostu ustawić jako styl CSS w narzędziach programistycznych.
— Bryan Downing,

1
@JosephtheDreamer niezależnie od tego, jak zostało wyłączone window.scrollBy (0,100) działa dla mnie na wszystkich stronach testowych, więc próbuję znaleźć skuteczny sposób przypisania tego do przycisku lub kółka przewijania.
— CodeCamper,

Co na temat stron internetowych, gdzie window.scrollBy(0,100)nie nie działa?
— Michael

Odpowiedzi:


140

W przeglądarce takiej jak Chrome itp .:

  1. Sprawdź kod (np. W prasie Chrome ctrl + shift + c);
  2. Ustaw overflow: visiblena elemencie ciała (np. <body style="overflow: visible">)
  3. Znajdź / Usuń wszelkie skrypty JavaScript, które mogą rutynowo sprawdzać usunięcie overflowwłaściwości:
    • Aby znaleźć taki kod JavaScript, możesz na przykład przejrzeć kod lub kliknąć inny kod JavaScript w konsoli debugera kodu i nacisnąć backspacena klawiaturze, aby go usunąć.
    • Jeśli masz problemy ze znalezieniem go, możesz po prostu spróbować usunąć kilka skryptów JavaScripts (możesz oczywiście po prostu nacisnąć, ctrl + zaby cofnąć dowolny usunięty kod lub nacisnąć przycisk odświeżania, aby zacząć od nowa).

Powodzenia!


11
Śledzisz te profile LinkedIn Nie jesteś zalogowany w trybie incognito? Czas na konsole, kochanie. <body>: ☐ o̶v̶e̶r̶f̶l̶o̶w̶:̶ ̶h̶i̶d̶d̶e̶n̶; <section>nakładka może iść; wreszcie div # zwolennikiem 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 i ... Puf!
— Leo

13
Oprócz ustawienia overflow: visiblemusiałem też usunąć position: fixed. Dzięki!
— wjandrea

2
Byłem w witrynach, w których trzeba usuwać style wbudowane style="overflow:hidden"z tagu body.
— Lei-Lonnie

1
Zamiast znaleźć skrypt java, po prostu zastosowałem tę szybką sztuczkę, aby całkowicie wyłączyć skrypt java i to zadziałało: developers.google.com/web/tools/chrome-devtools/javascript/ ...
— user1084563

2
Znaleziono także strony, które dodają overflow: hiddenstyl do <html>samego tagu u góry strony. Zmień to w overflow: visibleteż.
— Boud,

45

dodanie overflow:visible !important;do elementu body zadziałało dla mnie.


1
OP zażądał javascript. To jest CSS.
— Liran Funaro

21
@LiranFunaro Twój punkt widzenia? Ten kod CSS można wstawić za pomocą JavaScript:document.body.style.overflow = "visible !important";
— zreformowany

Oto twoja odpowiedź, @LiranFunaro
— Kamal Reddy

30

Pomyślałem, że komuś w tym pomogę.

Zwykle możesz to po prostu wkleić w konsoli.

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

Lub wersja tylko javascript:

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


2
Kiedy to nie zadziałało na jednej konkretnej stronie, znalazłem podobny skrypt z możliwością dodawania zakładek, który działał w tej bardzo przydatnej odpowiedzi QA, która zadziałała : var r="html,body{overflow:auto !important;}"; var s=document.createElement("style"); s.type="text/css"; s.appendChild(document.createTextNode(r)); document.body.appendChild(s); void 0; Strona, do której prowadzi łącze, sugeruje również próbę wyłączenia witryn z wyłączania pasków przewijania przez ustawienie wartości dom.disable_window_open_feature.scrollbarstrue w about.config .
— Joshua Goldberg

27

Możesz wkleić następujący kod do konsoli, aby przewijać w górę / w dół za pomocą klawiszy a / z klawiatury. Jeśli chcesz ustawić własne klucze, możesz odwiedzić tę stronę, aby uzyskać kody kluczy

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;

1
To jest idealne
— Alex L

7

Wybierz Body za pomocą chrome dev tools (Inspect) i zmień w CSS overflow: visible,

Jeśli to nie zadziała, sprawdź poniższy plik css, jeśli html, body jest ustawione jako przepełnienie: ukryte, zmień je jako widoczne


3

W przypadku przeglądarki Chrome jednym ze sposobów automatycznego ponownego włączenia przewijania w witrynie jest pobranie rozszerzenia Tampermonkey , a następnie dodanie tego skryptu (kliknij „Zainstaluj ten skrypt”).

Ogólnie rzecz biorąc, jeśli masz adres URL skryptu, którego adres URL kończy się na .user.js i masz zainstalowany program Tampermonkey, możesz wkleić go do Omniboksa Chrome, aby zainstalować skrypt. Więcej sposobów instalowania skryptów za pomocą Tampermonkey można znaleźć tutaj.


2

Spróbuj tego:

window.onmousewheel = document.onmousewheel = null
window.ontouchmove = null 
window.onwheel = null 

1
Może to nie zawsze działać, jeśli istnieje skrypt odpytywający, który ponownie przypisuje wartości do któregokolwiek z nich, ale dobra opcja!
— designcise

@designcise to byłoby bardzo przebiegłe z ich strony. Zawsze możesz jednak ankietować szybciej. :)
— Adam Thompson,

1
@AdamThompson Widziałem, że niektóre witryny to robią ... zwłaszcza niektóre witryny, które są bardzo
— zdeterminowane,

2

Wypróbuj kod ur, aby dodać `` skrypt '' to ostatnia linia lub spraw, aby konsola testowa ur (F12) włączała przewijanie

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

0

Ostatnią rzeczą jest sprawdzenie detektorów zdarzeń> „scroll” i przetestowanie ich usuwania.

Nawet jeśli usuniesz JavaScript, który je utworzył, słuchacze będą się trzymać i zapobiegać przewijaniu.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.