27 lines
874 B
JavaScript
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(); |