我想从 Chromium 的“新标签”页面中删除访问量最大的缩略图。检查该页面的内容后,我确定以下 JavaScript 行可以解决问题:
document.getElementById("most-visited").remove();
但我还有一个问题:如何使这一行在我打开新选项卡时自动运行?想必我必须将其包装在一个函数中并注册一个事件处理程序,但我一直无法找到更准确的信息。
编辑:
Chromium 似乎明确防止篡改“新标签”页面。我通过进行以下更改来调试灰原哀的解决方案:
在manifest.json中:
"matches": [ "*://*/*" ],
在 content.js 中:
var mv = document.getElementById("most-visited"); if (mv) mv.remove(); else window.alert("test");
并重新加载扩展。当我打开新标签时,缩略图仍然出现。然而,当我刷新另一个页面时,显示了一个消息框,上面写着“test”。
最佳答案
使用Content scripts 。至于匹配newtab url,参见What is the URL of the google chrome new tab page and how to exclude it from manifest.json .
list .json
{ "name": "Redesign", "version": "1.0", "manifest_version": 2, "content_scripts": [ { "matches": [ "*://*/_/chrome/newtab*" ], "js": [ "content.js" ] } ] }
内容.js
document.getElementById("most-visited").remove();
使用Programmatic injection 。您可以通过
chrome.tabs.onCreated
监听新标签页打开事件,检查tab url并确定是否调用chrome.tabs.executeScript
。Customize new tab page 。您还可以自定义自己的新标签页,而无需访问最多的部分。
关于javascript - 当用户在 Chromium 中打开新选项卡时运行指定的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38947915/