スクロールを無効にしたWebサイトでスクロールを有効にするにはどうすればよいですか?[閉まっている]


113

Javascriptでスクロールを無効にしているWebサイトでスクロールをすばやく再度有効にするにはどうすればよいですか?window.scrollBy(0、100)は正常に機能しますが、これをキーまたはマウススクロールにバインドする方法がわからないようです。


4
それがどのように無効にされたかに大きく依存します。最初にそれを入手してください。
ジョセフ

1
これはあなた自身のウェブサイトですか?または、他の誰かにこれを行おうとしていますか?
designcise 2016

16
おそらく要素に設定overflow: autoすることによってbody。これをdocument.body.style.overflow = 'auto'でテストするか、開発ツールでCSSスタイルとして設定することができます。
ブライアンダウニング

1
@JosephtheDreamerは、無効にされた方法に関係なく、window.scrollBy(0,100)がすべてのテストサイトで機能しているので、これをキーボタンまたはスクロールホイールに割り当てる効果的な方法を見つけようとしています。
codeCamper 2016

window.scrollBy(0,100)動作しないWebサイトはどうですか?
マイケル

回答:


139

Chromeなどのブラウザの場合:

  1. コードを検査します(たとえば、Chromeプレスでctrl + shift + c);
  2. セットoverflow: visible(例えばため、body要素上<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#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、そして...プーフ!
レオ

13
設定overflow: visibleに加えて、も削除する必要がありましたposition: fixed。ありがとう!
wjandrea 2018年

2
style="overflow:hidden"bodyタグからインラインスタイルを削除する必要があるサイトにアクセスしました。
レイ・ロニー

1
代わりに、Javaスクリプトを見つける私は完全に無効化Javaスクリプトにこのクイックトリックを踏襲していることは、私の仕事:developers.google.com/web/tools/chrome-devtools/javascript/...
user1084563

2
ページ上部のタグ自体にoverflow: hiddenスタイルを設定しているページもいくつか見つかりました<html>。それoverflow: visibleもに変えてください。
Boud

45

overflow:visible !important;体の要素に追加することは私のために働いた。


1
OPはjavascriptを要求しました。これはCSSです。
Liran Funaro 2017年

21
@LiranFunaroあなたのポイントは?このCSSは、JavaScriptを介して挿入できますdocument.body.style.overflow = "visible !important";
改訂

ここであなたの答え、@LiranFunaroだ
カマル・レディ

30

私はこれで誰かを助けるだろうと思った。

通常、これをコンソールに貼り付けるだけです。

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

または、JavaScriptのみのバージョン:

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


2
これが特定のページで機能しなかった場合、この非常に役立つQA回答で機能する、同様のブックマーク可能なスクリプトを見つけました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に設定して、サイトがスクロールバーを無効にできないようにすることも提案しています。。
JoshuaGoldberg20年

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
これは完璧です
アレックス・L

7

chrome devツール(Inspect)を使用してBodyを選択し、cssオーバーフローを変更します:visible、

それが機能しない場合は、html、bodyがoverflow:hiddenとして設定されている場合は、以下のcssファイルをチェックインし、表示されるように変更します


3

Chromeで、ウェブサイトのスクロールを自動的に再度有効にする1つの方法は、Tampermonkey拡張機能ダウンロードしてから、このスクリプトを追加することです([このスクリプトをインストール]をクリックします)。

一般に、URLが.user.jsで終わるスクリプトのURLがあり、Tampermonkeyがインストールされている場合は、それをChromeのOmniboxに貼り付けてスクリプトをインストールできます。Tampermonkeyを使用してスクリプトをインストールするその他の方法については、こちらをご覧ください。


2

これを試して:

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

1
これらのいずれかに値を再割り当てするポーリングスクリプトがある場合、これは常に機能するとは限りませんが、適切なオプションです。
designcise 2016

@designciseは、それらを非常に悪用します。ただし、いつでも高速にポーリングできます。:)
Adam Thompson

1
@AdamThompson私は実際にいくつかのサイトがそれをしているのを見ました..特にあなたに広告を表示することに非常に
ひどい曲がりくねった

2

urコードを試して「スクリプト」を最後の行に追加するか、テストurコンソール(F12)でスクロールを有効にします

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

0

最後に、イベントリスナー>「スクロール」を確認し、それらの削除をテストします。

それらを作成したJavascriptを削除しても、リスナーは固執してスクロールを防ぎます。


-3

私のために働いたのはposition: fixed;CSSを無効にすることでした。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.