My-extension/background.js

27 lines
874 B
JavaScript

const browserAPI = globalThis.browser ?? globalThis.chrome;
let clientId = null;
async function ensureClientId() {
const data = await browserAPI.storage.local.get("clientId");
if (!data.clientId) {
const newId = `client_${Date.now().toString(36)}`;
await browserAPI.storage.local.set({ clientId: newId });
clientId = newId;
console.log("[BG] Создан новый clientId:", newId);
} else {
clientId = data.clientId;
console.log("[BG] Загружен clientId:", clientId);
}
}
browserAPI.storage.onChanged.addListener((changes, area) => {
if (area === "local" && changes.clientId) {
clientId = changes.clientId.newValue;
console.log("[BG] clientId обновлён:", clientId);
}
});
browserAPI.runtime.onInstalled.addListener(ensureClientId);
browserAPI.runtime.onStartup.addListener(ensureClientId);
ensureClientId();