javascript - Aria 选择器在 FB 上找不到元素
问题描述
我从来没有做过 chrome 扩展,只编写了一点 js,我想在页面加载时从 facebook 中删除“watch”标签。(我真正想做的是删除红色徽章,告诉你有新的毫无意义的视频你没有要求;下面是我试图做到这一点)
<a aria-label="Watch" class="oajrlxb2 <-- Omitted jumbled classes --> g5ia77u1" href="/watch/" role="link" tabindex="0" aria-current="page"><span class="l9j0dhe7"><!--$--><svg viewBox="0 0 28 28" class="a8c37x1j ms05siws hwsy1cff b7h9ocf4 aaxa7vy3" height="28" width="28"></svg><span class="pmk7jnqg h5g66v2i nezaghv5"><!--$--><!--/$--></span><!--/$--></span></a>
从 chrome 中的检查中,我得到了上面的元素和图,这是我想要隐藏的元素。我根据一些指南设置了扩展并且它正在运行,我尝试了以下脚本的几种变体来隐藏选项卡:
$(document).ready(function () {
$("[aria-label='Watch']").style.visibility = "hidden"
$("[aria-label='Watch']").style.display = "block"
$("[aria-label='Watch']").style.display = "none"
})
我得到的错误:
Uncaught TypeError: Cannot set property 'visibility' of undefined
所以我从这个问题和类似问题中得到的选择器不起作用。我怀疑我的选择器问题与“aria”属性无关,因为我也尝试在一些 fb-jumbled 类上进行选择,这确实导致了同样的错误
编辑,这是尝试废弃 js 并仅在 css 中执行后的当前清单文件:
{
"name": "Hide unwanted tab",
"version": "1.0",
"manifest_version": 2,
"content_scripts": [
{
"matches": [
"https://www.facebook.com/*"
],
"css": ["hide_watch.css"]
}
]
}
和css文件:
[ariaLabel="Watch"]
{
visibility: hidden;
display: none;
}
解决方案
推荐阅读
- c - getopt() 函数表现出奇怪的行为
- javascript - 我的提交功能以 Bad Gateway 502 响应
- python - Python ttk.OptionMenu 选项字体样式
- node.js - 根据特定对象 ID 获取对象数组
- excel - 在 Excel 中使用过滤后的电子邮件地址列创建新电子邮件
- cassandra - 如何在 Cassandra 中搜索表以查找 x 小时前的时间戳?
- java - 由于某种原因,首页的背景颜色不正确
- javascript - 如何仅删除 setter JS?
- react-native - 带有反应本机导航的空白屏幕,没有错误代码
- python - 如何使用 pip 安装拉取请求?