有一个网页上有一些烦人的东西,我每次访问它时都想隐藏它。我认为这样做的一个好方法是为 Firefox 制作一个附加组件。
我以前从未这样做过,并且遇到了基于 Web 的 Firefox 插件构建器。我不太确定从这里去哪里。我知道这应该很容易做到这一点。我想我需要做的就是检查网站上是否使用了具有特定 id 的块,如果是,则从我的视图中删除/隐藏它。
这是解决这个问题的最好方法吗?如果没有,你有什么建议?如果是这样,你能给我一些提示来帮助我完成这个吗?
有一个网页上有一些烦人的东西,我每次访问它时都想隐藏它。我认为这样做的一个好方法是为 Firefox 制作一个附加组件。
我以前从未这样做过,并且遇到了基于 Web 的 Firefox 插件构建器。我不太确定从这里去哪里。我知道这应该很容易做到这一点。我想我需要做的就是检查网站上是否使用了具有特定 id 的块,如果是,则从我的视图中删除/隐藏它。
这是解决这个问题的最好方法吗?如果没有,你有什么建议?如果是这样,你能给我一些提示来帮助我完成这个吗?
对了,我明白了:
仅使用独立的 Firefox 附加组件使用以下代码:
exports.main = function() {
var pageMod = require("page-mod");
pageMod.PageMod({
include: "*.ca",
contentScriptWhen: 'end',
contentScript: 'document.getElementById("DIVID").style.visibility="hidden";'
});
};
换成DIVID
你想要的就行了。
同样,在 Greasemonkey 中,只需将其添加到脚本中:
document.getElementById('DIVID').style.visibility='hidden';
我不想使用 Greasemonkey 的唯一原因是它不容易共享。但它的便利性是无与伦比的!
您可以只使用GreaseMonkey,这是一个非常有用的 firefox 插件。您可以使用在页面上运行的 JavaScript 编写自己的脚本。
但是,很可能有人已经为相关站点编写了一个脚本,您可以从http://userscripts.org/存储库安装该脚本。
在格式良好的 HTML 中,该id
属性的任何特定值都应该在文档中最多出现一次。如果你的任务是寻找并摧毁一个反复出现的现象,它可能会被标记(如果有的话)带有class
. 例如,Twitter 的“推广推文”就是这种情况。
var promotedTweets = document.getElementsByClassName("promoted-tweet");
for (k=0; k<promotedTweets.length; k++) {
promotedTweets[k].parentNode.removeChild(promotedTweets[k]);
}
Adblock Plus不会在这里解决问题吗?如果我没记错的话,您可以在任何给定网站上为其提供元素隐藏规则(基于类或 ID 属性)。
Firefox 中的另一种方法是创建一个 userContent.css 文件并添加隐藏 div 的 css。
请参阅https://superuser.com/a/319322/并注意指出“从 Firefox 69 开始,您需要将 设置toolkit.legacyUserProfileCustomizations.stylesheets preference
为true
”的注释。