在某些安装了adblock进入的网页中,主体中添加了“ overflow:hidden” css样式,从而阻止了网站的滚动。
示例:
<html>
<head>
<title>Website</title>
</head>
<body style="overflow: hidden;">
Some long article content
</body>
</html>
我必须在Chrome Web检查器中手动进行编辑才能将其删除,这很烦人。
我想知道我可以永久删除此内容,也可以通过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);
})();
答案 0 :(得分:2)
尝试使用此脚本工具TamperMonkey
要覆盖溢出
body {
overflow: visible !important;
}
将与TamperMonkey一起使用的脚本:
// ==UserScript==
// @name InvestingRemoveScrollBodyBlocker
// @namespace http://tampermonkey.net/
// @version 0.2
// @description Remove body overflow hidden
// @author Ángel Guzmán Maeso <angel@guzmanmaeso.com>
// @match https://*.investing.com/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
// Credits: https://stackoverflow.com/questions/51330252/how-to-remove-the-css-rule-body-overflowhidden-automatically
document.body.style.cssText = "visible !important";
})();
答案 1 :(得分:1)
您可以添加带有uBlock Origin的:style() operator过滤规则以覆盖此规则:
*##html,body:style(overflow: visible !important;)