如何在禁用滚动的网站上启用滚动?[关闭]


114

如何在已禁用Javascript滚动的网站上快速重新启用滚动?window.scrollBy(0,100)可以正常工作,只是似乎无法弄清楚如何将其绑定到键或鼠标滚动。


4
在很大程度上取决于如何禁用它。首先得到。
约瑟夫

1
这是您自己的网站吗?或者您正在尝试对其他人执行此操作?
designcise

16
也许通过设置overflow: auto在上body元素。您可以使用进行测试document.body.style.overflow = 'auto',也可以在开发工具中将其设置为CSS样式。
布莱恩·唐宁

1
@JosephtheDreamer不管它如何被禁用window.scrollBy(0,100)在所有测试站点上都对我有效,因此我试图找出一种有效的方法将其分配给按键或滚轮。
CodeCamper

关于网站什么地方window.scrollBy(0,100)没有工作?
迈克尔

Answers:


140

在Chrome等浏览器中:

  1. 检查代码(例如在Chrome印刷机中ctrl + shift + c);
  2. 设置overflow: visible在身体元素上(例如<body style="overflow: visible">
  3. 查找/删除所有可能常规检查overflow属性删除的JavaScript :
    • 要查找此类JavaScript代码,例如,可以遍历代码,或在代码调试器控制台中单击其他JavaScript代码,然后敲击backspace键盘将其删除。
    • 如果找不到它,可以尝试删除几个JavaScript(当然,您可以按一下ctrl + z以撤消所删除的任何代码,或者单击“刷新”重新开始)。

祝好运!


11
跟踪那些LinkedIn个人资料隐身模式未登录?这是控制台时间宝贝。<body>☐ o̶v̶e̶r̶f̶l̶o̶w̶:̶ ̶h̶i̶d̶d̶e̶n̶; 该<section>叠加可以去; 最后DIV#倡导的模式☐ 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和... Po!
狮子座

13
除了设置外overflow: visible,我还必须删除position: fixed。谢谢!
wjandrea

2
我去过一些必须style="overflow:hidden"从body标签删除内联样式的网站。
雷朗尼

1
我没有找到Java脚本,而是按照以下快速技巧完全禁用了Java脚本,该方法对我
有用

2
在页面顶部还发现了一些将overflow: hidden样式放在<html>标签本身上的页面。也把它变成overflow: visible
Boud

45

添加overflow:visible !important;到身体元素为我工作。


1
OP要求使用javascript。这是CSS。
Liran Funaro

21
@LiranFunaro您的观点是?该CSS可以通过JavaScript插入:document.body.style.overflow = "visible !important";
改革

这是您的答案,@ LiranFunaro
Kamal Reddy

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在about.config中将其设置为true来禁用站点以禁用滚动条。。
约书亚·戈德堡

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

使用Chrome开发人员工具(检查)选择主体,然后更改CSS溢出:可见,

如果这样不起作用,则在下面的css文件中检查html正文是否设置为溢出:隐藏,将其更改为可见



2

尝试这个:

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

1
如果有轮询脚本将值重新分配给其中任何一个,这可能并不总是有效,但这是个不错的选择!
designcise

@designcise会让他们非常反感。但是,您始终可以更快地轮询。:)
Adam Thompson

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,侦听器也将停留在周围并阻止滚动。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.