I\'m creating a Firefox extension for demo purposes. I to call a specific JavaScript function in the document from the extension. I wrote this in my HTML document (not insid
var pattern = "the url you want to block";
function onExecuted(result) {
console.log(`We made it`);
}
function onError(error) {
console.log(`Error: ${error}`);
}
function redirect(requestDetails) {
var callbackName = 'callbackFunction'; //a function in content js
var data = getDictForkey('a url');
var funcStr = callbackName + '(' + data + ')';
const scriptStr = 'var header = document.createElement(\'button\');\n' +
' header.setAttribute(\'onclick\',\'' + funcStr + '\');' +
' var t=document.createTextNode(\'\');\n' +
' header.appendChild(t);\n' +
' document.body.appendChild(header);' +
' header.style.visibility="hidden";' +
' header.click();';
const executing = browser.tabs.executeScript({
code: scriptStr
});
executing.then(onExecuted, onError);
return {
cancel: true
}
}
chrome.webRequest.onBeforeRequest.addListener(
redirect,
{urls: [pattern]},
["blocking"]
);
function getDictForkey(url) {
xxxx
return xxxx;
}