javascript - 如何自动删除css规则 "body overflow:hidden"

标签 javascript css google-chrome-extension google-chrome-devtools adblock

在一些安装了adblock进入的网页中,在body中添加了“overflow:hidden”的css样式,阻止了网站的滚动。

例子:

<html>
  <head>
      <title>Website</title>
  </head>
  <body style="overflow: hidden;">
    Some long article content
  </body>
</html>

我每次都必须在 Chrome 网络检查器中手动编辑才能删除,这很烦人。

我想知道我可以将此删除永久删除或通过 chrome 扩展程序或 adblock 规则检测以删除它,或者通过直接 javascript 等来删除它。

更新:使用 tampermonkey chrome 扩展,我可能可以达到我的目标。我执行了以下脚本但没有结果(页面似乎重新加载或加载了一些 javascript,我无法正确删除隐藏的正文溢出):

// ==UserScript==
// @name         InvestingRemoveScrollBodyBlocker
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Remove body overflow hidden
// @author       Ángel Guzmán Maeso <angel@guzmanmaeso.com>
// @match        https://*.investing.com/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    setTimeout(function(){

        var bodyWeb = document.getElementsByTagName("BODY")[0];
        console.log(bodyWeb);
        bodyWeb.style.overflow = "visible !important";

    }, 4000);

})();

最佳答案

您可以添加 uBlock Origin带有 :style() operator 的过滤规则覆盖这个:

*##html,body:style(overflow: visible !important;)

关于javascript - 如何自动删除css规则 "body overflow:hidden",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51330252/

相关文章:

JavaScript 仅在刷新后才起作用

javascript - 我们如何在 html 中分别将 "True"或 "False"字符串设置为复选框对其选中或未选中状态的响应?

javascript - $digest 循环后 Angular 如何更新 View ?

javascript - 使用 d3 中的嵌套数据

php - 表单关闭标签在 php echo 中不起作用?表格元素在编译时相互超越。另外我的 'comment' 输入有什么问题?

javascript - 切换当前元素的可见性

javascript - 推送到 Firebase - 缓慢且不一致

html - Clearfix 不适用于固定宽度的列

javascript - 在 chrome 扩展中向用户显示消息

javascript - 在 Chrome 扩展中插入 CSS