新手,由于 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
编辑:这里的问题是第三行没有以正确的方式编写,无论哪种方式都行不通。 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"]
);
除了
document.getElementsByTagName("body")[0].innerhtml