运行 当用户在 Chromium 中打开新标签页时的指定函数

Run a specified function when the user opens a new tab in Chromium

我想从 Chromium 的“新标签”页面中删除访问次数最多的缩略图。检查该页面的内容后,我确定以下 JavaScript 行可以解决问题:

document.getElementById("most-visited").remove();

但我还有一个问题:如何让这一行在我打开一个新标签时自动运行?大概我必须将它包装在一个函数中并注册一个事件处理程序,但我一直无法找到更准确的信息。


编辑:

Chromium 似乎明确防止篡改“新标签”页面。我通过进行以下更改来调试 Haibara Ai 的解决方案:

  1. 在manifest.json:

    "matches": [
        "*://*/*"
      ],
    
  2. 在content.js:

    var mv = document.getElementById("most-visited");
    if (mv) mv.remove(); else window.alert("test");
    

并重新加载了扩展程序。当我打开新标签时,缩略图仍然出现。然而,当我刷新不同的页面时,显示了一个消息框,上面写着“测试”。

  1. 使用Content scripts. As for matching newtab url, see

    manifest.json

    {
      "name": "Redesign",
      "version": "1.0",
      "manifest_version": 2,
      "content_scripts": [
        {
          "matches": [
            "*://*/_/chrome/newtab*"
          ],
          "js": [
            "content.js"
          ]
        }
      ]
    }
    

    content.js

    document.getElementById("most-visited").remove();
    
  2. 使用Programmatic injection. You could listen to new tab opened event via chrome.tabs.onCreated,勾选url选项卡,判断是否调用chrome.tabs.executeScript.

  3. Customize new tab page。您也可以自定义您自己的新标签页,去掉最常访问的部分。