Chrome App/extension 删除页面元素?

Chrome App/extension to remove a page element?

我需要创建一个 Chrome 扩展来操作某些页面上的 HTML。

基本上,我需要做的是删除页面内的<div class="feedmain">。我目前可以使用开发人员工具删除那个 <div>,但是当我重新加载页面时该元素显然会重新加载,所以我想开发一些自动为我执行此操作的扩展。

所以我想知道这是否可能,以及如何在扩展中完成的概述。

是的,当然可以,而且很容易做到:您所需要的只是一个内容脚本,该脚本将被注入到该特定页面中,以便为您删除该元素。

要想做你想做的事,你需要:

  1. 使用 manifest.json 文件创建一个简单的空 Chrome 扩展(参见 here 官方指南)。
  2. manifest.json中指定"content_scripts"字段,声明要注入的脚本。像这样:

    "content_scripts": [
        {
            "matches": ["http://somesite.com/somepage.html"],
            "js": ["/content_script.js"]
        }
    ]
    

    查看 here 了解内容脚本的工作原理。

  3. 创建一个 content_script.js,这将为您删除该元素。该脚本基本上只包含以下两行:

    var element = document.querySelector('div.feedmain');
    element.parentElement.removeChild(element);