Files
inscriboor/extension/content.js
T

26 lines
652 B
JavaScript

(() => {
let port = null;
const connect = () => {
if (port) return port;
port = chrome.runtime.connect({ name: "inscriboor-provider" });
port.onMessage.addListener(message => {
window.postMessage({ source: "inscriboor-extension", ...message }, "*");
});
port.onDisconnect.addListener(() => { port = null; });
return port;
};
connect();
window.addEventListener("message", event => {
if (event.data?.source !== "inscriboor-page") return;
connect().postMessage({
id: event.data.id,
method: event.data.method,
params: event.data.params,
origin: location.origin
});
});
})();