execute any javascript on any chromium tabs
- adds options page with
tabgod()
function
async function tabgod(
tabFilterFunc: (tab: chrome.tabs.Tab, ...args: unknown[]) => boolean,
exeFunc: (...args: unknown[]) => unknown,
options?: {
tabFilterArgs?: unknown[];
exeArgs?: unknown[];
evalAdd?: string;
},
): Promise<{ tabId: number; result: unknown }[]> {
//
}
having chatgpt and pi talk to each other
demo.mp4
searching same query on multiple search engines
- open extensions options page
- open devtools console
- use provided
tabgod()
function- choose execution targets by writing a filter function that will include/excluce tabs based on defined criteria
- write any js to execute in world of targeted tabs
tabgod(
(tab) => tab.url.includes("example.org"),
() => document.body.style.background = "pink",
);
- initial idea was to make tabgod function available in all devtools consoles for easy and direct access for developers right from every console
- the implementation added tabgod to the global window object
- however this introduced a serious security issue, since this has made the function available to websites also, allowing them to interact with other tabs, destroying the idea of secure tab origins
- thanks to danielsmc pointing it out
- this has been immediately addressed by moving the function only to the options page of the extension, and not accepting external connections in the service worker