javascript - 每次打开 WhatsApp 网络暗模式时,如何运行脚本(?)?
问题描述
截至目前,WhatsApp Web 尚无通过库存将其设为暗模式的选项,但可以通过检查元素并将其更改为来启用它body class="web"
:class="web dark"
。
现在我没有任何实际的编程知识,但有没有办法在我每次打开https://web.whatsapp.com/时自动进行此类更改?截至目前,我每次都需要手动执行。
谢谢您的帮助。
解决方案
是的,一切皆有可能,尤其是这个
为了在每次页面加载时运行脚本,您需要制作一个浏览器扩展(通常是 chrome 扩展,但同样的原则也适用于 firefox 或可能的其他浏览器)。
但首先你需要想想那个脚本会是什么。如果您想将主体的类名更改为某种东西,在这种情况下web dark
,那么 JavaScript 将是
document.body.className = "web dark"
现在稍微困难的部分是制作实际的扩展,我将在 chrome 中查看说明,但类似的概念可能适用于其他浏览器。
首先打开一个文本编辑器。它甚至可以是记事本,只是当您转到文件->另存为时,将扩展名“.txt”更改为“所有文件”。
无论如何,将新文件命名为“manifest.json”在某个全新文件夹中,确保在保存时更改“所有文件”的类型
现在我们需要向它添加一些内容。hae 的每个扩展都有一些必填字段,您只需复制以下内容并更改您想要的部分:
{
"name": "the actual name of it",
"version": "1.0",
"description": "put anything you want here!?",
"manifest_version": 2
}
好的,现在打开 chrome,进入扩展页面(通常在工具下,或chrome://extensions
),然后应该有一个小标记,上面写着“开发者模式”。如果您看到它,请单击它,现在您应该会看到一个新菜单,上面写着“加载解压”选项之一。点击它。
现在选择您创建的包含 manifest.json 文件的新文件夹。
如果到目前为止一切顺利,这意味着它加载没有错误,那么我们可以继续前进。
现在我们只需要添加一个叫做Content Script的东西,它会在页面加载时执行一些 JS。
为此,请在 manifest.json 文件中添加一个名为“content_scripts”的新字段,其中包含一个名为“matches”的字段,其中包含您要将脚本注入到的 ste 的基本 URL(在这种情况下可能是 whatsapp.com ) 和另一个名为“js”的字段,包含我们将要创建的新 JS 文件的路径,我们将其命名为 myscript.js(我们将在几秒钟内完成)。到目前为止 manifest.json 应该是这样的:
{
"name": "the actual name of it",
"version": "1.0",
"description": "put anything you want here!?",
"manifest_version": 2,
"content_scripts": [{
"matches": ["https://*.whatsapp.com/*"],
"js":["myscript.js"]
}]
}
然后重新加载它以查看是否有任何错误。
如果没有,我们可以继续前进。
现在,在与 manifest.json 相同的目录中创建一个新文件,名为myscript.js
. 您甚至可以使用记事本,只需确保将类型设置为“所有文件”。
在那个新文件中,只需添加
function doIt() {
document.body.className = "web dark"
}
if(document.readyState == "complete")
doIt()
else
addEventListener("load", doIt)
推荐阅读
- javascript - 表单集中添加的每个新输入元素的 Django 动态表单增量 ID
- c# - System.Windows.Forms.DateTimePicker 的文本拉伸过多
- bash - 使用正则表达式运算符将字符串与数组的内容进行匹配不起作用
- jenkins - 禁用在 Jenkins 管道日志中显示“[Pipeline]*”行?
- java - 将java转换为Json时是否可以忽略内部类名和变量
- c# - 如何使用c#检查日期时间是否为空
- angular - 重新加载页面将我带到角度 cli 中的根路径
- c++ - 您如何转发声明存在于命名空间中的类?
- android - Android 在 aws s3 http 上上传
- django - Django ValueError 'accounts.user',但未安装应用程序'accounts'