新手,由于 return,无法找到让此代码在 webRequest.onBeforeRequest 内运行的方法

Newbie, can't find a way for this code to work inside webRequest.onBeforeRequest due return

编辑:这里的问题是第三行没有以正确的方式编写,无论哪种方式都行不通。 browser.notifications 做了我需要的。

这是我目前拥有的。它需要取消请求并通知它被取消的原因。请求取消部分工作正常,但是,我不确定通知代码应该放在哪里。我尝试在函数内部添加 innerhtml,但这会破坏代码。

browser.webRequest.onBeforeRequest.addListener(
    function() {
    getElementsByTagName(body).innerhtml = '<p>Test</p>'; // the problem
        return {cancel: true};
    },
    {
        urls: ["(links)"]
    },
    ["blocking"]
);

里面有几样东西。首先,getElementsByTagName 不是全局范围内的函数,而是文档范围内的函数。其次,它 returns 一个元素数组(即使它只是一个 'body' 元素的数组)。所以你可能想做的是:

browser.webRequest.onBeforeRequest.addListener(
    function() {
    document.getElementsByTagName("body")[0].innerhtml = '<p>Test</p>';
        return {cancel: true};
    },
    {
        urls: ["(links)"]
    },
    ["blocking"]
);

除了,我想你可能希望 body 是一个字符串:

document.getElementsByTagName("body")[0].innerhtml