首页 > 解决方案 > 每次打开 WhatsApp 网络暗模式时,如何运行脚本(?)?

问题描述

截至目前,WhatsApp Web 尚无通过库存将其设为暗模式的选项,但可以通过检查元素并将其更改为来启用它body class="web"class="web dark"

现在我没有任何实际的编程知识,但有没有办法在我每次打开https://web.whatsapp.com/时自动进行此类更改?截至目前,我每次都需要手动执行。

谢谢您的帮助。

标签: javascripthtml

解决方案


是的,一切皆有可能,尤其是这个

为了在每次页面加载时运行脚本,您需要制作一个浏览器扩展(通常是 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)
    

推荐阅读