26 lines
652 B
JavaScript
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
|
|
});
|
|
});
|
|
})();
|