Як увімкнути прокрутку на веб-сайті, який вимкнув прокрутку? [зачинено]


114

Як швидко ввімкнути прокрутку на веб-сайті, який вимкнув прокрутку за допомогою Javascript? window.scrollBy (0, 100) працює нормально, здається, не можу зрозуміти, як прив'язати це до клавіш або прокрутки миші.


4
Значно залежить від того, як його було відключено. Отримайте це перше.
Джозеф

1
Це ваш власний веб-сайт? Або ви намагаєтеся зробити це на інших?
розробка проекту

17
Можливо, встановивши overflow: autoна bodyелементі. Ви можете протестувати це за допомогою document.body.style.overflow = 'auto'або просто встановити його як стиль CSS в інструментах розробника.
Брайан Даунінг,

1
@JosephtheDreamer, незалежно від того, як його було відключено window.scrollBy (0,100) працює для мене на всіх тестових сайтах, тому я намагаюся знайти ефективний спосіб призначити це клавіші або колесу прокрутки.
CodeCamper

Що про веб - сайтах , де window.scrollBy(0,100)це НЕ працює?
Майкл

Відповіді:


140

У браузері, як Chrome тощо:

  1. Перевірте код (наприклад, у пресі Chrome ctrl + shift + c);
  2. Встановити overflow: visibleна елементі тіла (наприклад, <body style="overflow: visible">)
  3. Знайдіть / видаліть будь-які сценарії JavaScripts, які можуть регулярно перевіряти видалення overflowвластивості:
    • Щоб знайти такий код JavaScript, ви можете, наприклад, переглянути його або натиснути на інший код JavaScript у консолі налагоджувача коду та натиснути backspaceна клавіатурі, щоб видалити його.
    • Якщо у вас виникають проблеми з його пошуком, ви можете просто спробувати видалити пару JavaScripts (звичайно, ви можете просто натиснути, ctrl + zщоб скасувати будь-який код, який ви видалите, або натиснути кнопку оновлення, щоб почати спочатку).

Удачі!


11
Переслідування цих профілів LinkedIn Інкогніто в режимі без входу? Це консольний час, дитино. <body>: ☐ o̶v̶e̶r̶f̶l̶o̶w̶:̶ ̶h̶i̶d̶d̶e̶n̶; <section>накладка може йти; нарешті ДІВ # адвокат-модель : ☐ 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 і ... Пуф!
Лев

13
Окрім налаштування overflow: visible, мені також довелося видалити position: fixed. Дякую!
wjandrea

2
Я був на сайтах, де вам потрібно видалити вбудовані стилі style="overflow:hidden"з тегу body.
Лей-Лонні,

1
Замість того, щоб знайти сценарій Java, я просто дотримувався цього швидкого трюку, щоб повністю вимкнути скрипт Java, і це спрацювало для мене: developers.google.com/web/tools/chrome-devtools/javascript/…
user1084563

2
Знайдено також кілька сторінок, які наносять overflow: hiddenстиль на сам <html>тег у верхній частині сторінки. Перетворіть це overflow: visibleтеж.
Boud


30

Просто думав, що допоможу комусь у цьому.

Як правило, ви можете просто вставити це в консоль.

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

Або версія лише для JavaScript:

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


2
Коли це не спрацювало на одній конкретній сторінці, я знайшов подібний скрипт із закладками, який працював у цій дуже корисній відповіді щодо якості : 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; Зв’язана сторінка також пропонує спробувати відключити сайти від вимкнення смуг прокрутки, встановивши dom.disable_window_open_feature.scrollbarsзначення true у about.config .
Джошуа Голдберг

27

Ви можете вставити наступний код на консоль для прокрутки вгору / вниз за допомогою клавіш клавіатури a / z. Якщо ви хочете встановити власні ключі, ви можете відвідати цю сторінку, щоб отримати коди клавіш

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
Це ідеально
Alex L

7

Виберіть Body за допомогою інструментів chrome dev (Перевірити) та змініть в css overflow: visible,

Якщо це не спрацює, перевірте файл CSS нижче, якщо html, тіло встановлено як переповнення: приховане, змініть його як видиме


3

У Chrome один із способів автоматично ввімкнути прокрутку на веб-сайті - завантажити розширення Tampermonkey , а потім додати цей сценарій (натисніть «Встановити цей сценарій»).

Загалом, якщо у вас є URL-адреса для сценарію, URL-адреса якої закінчується на .user.js і там встановлено Tampermonkey, ви можете вставити його в універсальне вікно Chrome, щоб встановити сценарій. Інші способи встановлення скриптів за допомогою Tampermonkey можна знайти тут.


2

Спробуйте це:

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

1
Це може не завжди спрацювати, якщо існує скрипт опитування, який перепризначує значення будь-якому з них, але хороший варіант!
розробка проекту

@designcise, що було б для них дуже хитрим. Однак ви завжди можете опитувати швидше. :)
Адам Томпсон,

1
@AdamThompson Я насправді бачив, як це роблять деякі сайти .. особливо деякі сайти, які дуже
затято

2

Спробуйте ур-код, щоб додати "скрипт" останній рядок, або зробіть так, щоб пробна ур-консоль (F12) увімкнула прокрутку

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

0

Останнє - перевірити слухачів подій> "прокрутити" та протестувати їх видалення.

Навіть якщо ви видалите Javascript, який їх створив, слухачі залишатимуться і не дозволять прокручувати.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.