Ao injetar na página de erro de navegação, obtém-se: Erro: Nenhuma janela corresponde a {“matchesHost”: [“<all_urls>”]}}
Estou tentando executar um script que mostra uma borda verde na guia especificada (por ID). O script deve ser executado quando a resposta para a URL solicitada for um erro. O problema é que, quando carrego a extensão deabout:debugging
, Recebo o seguinte erro (no console do navegador no FF 53):
Error: No window matching {“matchesHost”:[“<all_urls>”]}
Eu procurei por horas e horas e procurei em vários posts por problemas semelhantes, mas nenhum deles me ajudou. Por exemplo, issopostar sugere adicionar"<all_urls>"
permissão e não ajudou no meu caso. Outropostar afirma que não é possível executar scripts em certos tipos de hosts, comoabout:[anything]
páginas e páginas do mozilla. Não vejo meu URL pertencente a nenhum deles.
Aqui está o meu exemplo:
omanifest.json
{
"manifest_version": 2,
"name": "test",
"version": "1.0",
"background": {
"scripts": ["test.js"]
},
"permissions": [
"<all_urls>",
"activeTab",
"tabs",
"storage",
"webRequest"
]
}
O script de segundo plano étest.js
:
console.log("-- inside js file --");
var target = "<all_urls>";
function logError(responseDetails) {
errorTab=responseDetails.tabId;
console.log("response tab: "+errorTab);
var makeItGreen = 'document.body.style.border = "5px solid green"';
var executing = browser.tabs.executeScript(errorTab,{
code: makeItGreen
});
}//end function
browser.webRequest.onErrorOccurred.addListener(
logError,
{urls: [target],
types: ["main_frame"]}
);