Bagaimana cara mengaktifkan scrolling di situs web yang menonaktifkan scrolling? [Tutup]


114

Bagaimana cara mengaktifkan kembali pengguliran dengan cepat di situs web yang telah menonaktifkan pengguliran dengan Javascript? window.scrollBy (0, 100) berfungsi dengan baik hanya saja sepertinya tidak dapat menemukan cara untuk mengikat ini ke tombol atau scroll mouse.


4
Sangat tergantung pada bagaimana itu dinonaktifkan. Dapatkan itu dulu.
Joseph

1
Apakah ini situs web Anda sendiri? Atau Anda mencoba melakukan ini pada orang lain?
designcise

16
Mungkin dengan menetapkan overflow: autopada bodyelemen. Anda dapat mengujinya dengan document.body.style.overflow = 'auto', atau hanya mengaturnya sebagai gaya CSS di alat pengembang.
Bryan Downing

1
@JosephtheDreamer terlepas dari bagaimana itu dinonaktifkan window.scrollBy (0,100) bekerja untuk saya di semua situs pengujian jadi saya mencoba mencari cara yang efektif untuk menetapkan ini ke tombol kunci atau roda gulir.
CodeCamper

Bagaimana situs web mana window.scrollBy(0,100)yang tidak bekerja?
Michael

Jawaban:


140

Di browser seperti Chrome dll .:

  1. Periksa kode (misalnya di Chrome press ctrl + shift + c);
  2. Ditetapkan overflow: visiblepada elemen tubuh (misalnya, <body style="overflow: visible">)
  3. Temukan / Hapus JavaScripts yang mungkin secara rutin memeriksa penghapusan overflowproperti:
    • Untuk menemukan kode JavaScript seperti itu, Anda dapat misalnya, membuka kode, atau mengklik kode JavaScript yang berbeda di konsol kode debugger dan menekan backspacekeyboard Anda untuk menghapusnya.
    • Jika Anda kesulitan menemukannya, Anda dapat mencoba menghapus beberapa JavaScripts (tentu saja Anda dapat menekan ctrl + zuntuk membatalkan kode apa pun yang Anda hapus, atau tekan segarkan untuk memulai kembali).

Semoga berhasil!


11
Menguntit profil LinkedIn itu. Mode penyamaran tidak masuk? Saatnya konsol sayang. <body>: ☐ o̶v̶e̶r̶f̶l̶o̶w̶:̶ ̶h̶i̶d̶d̶e̶n̶; yang <section>overlay bisa pergi; akhirnya div # advokat 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, dan ... Poof!
Leo

13
Selain setting overflow: visible, saya juga harus menghapus position: fixed. Terima kasih!
wjandrea

2
Saya pernah mengunjungi situs di mana Anda harus menghapus gaya sebaris style="overflow:hidden"dari tag body.
Lei-Lonnie

1
Alih-alih menemukan skrip java, saya hanya mengikuti trik cepat ini untuk menonaktifkan skrip java sepenuhnya dan berhasil untuk saya: developers.google.com/web/tools/chrome-devtools/javascript/…
user1084563

2
Ditemukan juga beberapa halaman yang menempatkan overflow: hiddengaya pada <html>tag itu sendiri di bagian atas halaman. Ubah menjadi overflow: visiblejuga.
Boud

45

menambahkan overflow:visible !important;elemen tubuh berhasil untuk saya.


1
OP meminta javascript. Ini adalah CSS.
Liran Funaro

21
@LiranFunaro Poin Anda? CSS ini dapat disisipkan melalui JavaScript:document.body.style.overflow = "visible !important";
direformasi

Ini jawaban Anda, @LiranFunaro
Kamal Reddy

30

Hanya berpikir aku akan membantu seseorang dengan ini.

Biasanya, Anda dapat menempelkannya di konsol.

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

Atau, versi khusus javascript:

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


2
Ketika ini tidak berhasil pada satu halaman tertentu, saya menemukan skrip serupa yang dapat di-bookmark yang berfungsi dalam jawaban QA yang sangat membantu ini yang berfungsi : 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; Halaman tertaut juga menyarankan untuk mencoba menonaktifkan situs dari menonaktifkan scrollbar dengan menyetel dom.disable_window_open_feature.scrollbarske true di about.config .
Joshua Goldberg

27

Anda dapat menempelkan kode berikut ke konsol untuk menggulir ke atas / bawah menggunakan tombol keyboard a / z. Jika Anda ingin mengatur kunci Anda sendiri, Anda dapat mengunjungi halaman ini untuk mendapatkan kode kunci

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
Ini sempurna
Alex L

7

Pilih Body menggunakan chrome dev tools (Inspect) dan ubah css overflow: visible,

Jika tidak berhasil, periksa file css di bawah ini jika html, body disetel sebagai overflow: hidden, ubah menjadi terlihat


3

Dengan Chrome, salah satu cara untuk secara otomatis mengaktifkan kembali pengguliran di situs web adalah mengunduh ekstensi Tampermonkey , lalu menambahkan skrip ini (klik "Pasang skrip ini").

Secara umum, jika Anda memiliki URL untuk skrip yang URL-nya diakhiri dengan .user.js dan telah memasang Tampermonkey, Anda dapat menempelkannya ke Omnibox Chrome untuk memasang skrip. Cara lain untuk menginstal skrip dengan Tampermonkey dapat ditemukan di sini.


2

Coba ini:

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

1
Ini mungkin tidak selalu berfungsi jika ada skrip polling yang menetapkan ulang nilai ke salah satu dari itu, tetapi opsi yang bagus!
designcise

@designcise itu akan sangat licik dari mereka. Namun, Anda selalu dapat melakukan polling lebih cepat. :)
Adam Thompson

1
@AdamThompson Saya sebenarnya telah melihat beberapa situs melakukan itu .. terutama beberapa situs yang sangat ingin menampilkan iklan
designcise

2

Coba kode ur untuk menambahkan 'skrip' di baris terakhir atau buat konsol pengujian Anda (F12) mengaktifkan pengguliran

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

0

Satu hal terakhir adalah memeriksa Pendengar Acara> "gulir" dan uji coba untuk menghapusnya.

Bahkan jika Anda menghapus Javascript yang membuatnya, pendengar akan tetap tinggal dan mencegah pengguliran.


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.