Liigu sisu juurde

Keel

Dokumentatsiooni menüü

JavaScripti API

Cookiesh JavaScripti API teatmik: loe ja muuda nõusolekut, ava bänner või eelistuste keskus, sünkrooni sisselogitud kasutajad ja seadista skriptimärgend.

Viimati uuendatud 29. oktoober 2026

JavaScripti API võimaldab sinu enda koodil nõusolekut lugeda ja muuta. Sama API on saadaval kahel viisil:

  • Globaalne objekt Cookiesh, mille loob skriptimärgend. Kasuta seda tavalistel HTML-lehtedel ja brauseri konsoolis.
  • Pakett @cookiesh/js, tüübitud ümbris globaalse objekti ümber komplekteeritud rakenduste jaoks. See töötab samamoodi ja sisaldab TypeScripti tüübimääratlusi.
npm install @cookiesh/js
import { cookiesh } from '@cookiesh/js';

Pakett ei laadi Cookieshist teist koopiat. See ootab skriptimärgendit ja kutsub välja globaalset objekti. Kõik allolevad näited kasutavad paketti, kuid Cookiesh.ready() ja cookiesh.ready() käituvad täpselt ühtemoodi.

Nõusoleku olek

Enamik meetodeid tagastab või võtab vastu objekti ConsentState:

interface ConsentState {
  necessary: true;
  preferences: boolean;
  analytics: boolean;
  marketing: boolean;
  /** Kuidas praegune olek tekkis. */
  method: 'default' | 'banner' | 'preferences' | 'api' | 'gpc';
  /** Salvestatud nõusolekukirje juhuslik ID või null enne esimest valikut. */
  consentId: string | null;
  /** Valiku aeg ISO 8601 vormingus või null enne esimest valikut. */
  timestamp: string | null;
  bannerVersion: string;
  /** Piirkond, millele reegel vastas, näiteks "FR" või "US-CA". */
  region: string;
}

Enne kui külastaja valiku teeb, on method väärtusega default ja kategooriad kajastavad piirkonna vaikeolekut. Eelneva nõusoleku piirkondades tähendab see, et kõik peale necessary on false.

Nõusoleku lugemine

ready()

ready(): Promise<ConsentState>

Laheneb kohe, kui Cookiesh teab nõusoleku olekut: naasvate külastajate puhul kohe ja uute puhul pärast piirkonna tuvastamist. See ei oota, kuni külastaja bänneril klõpsab. Kasuta seda nõusolekust sõltuva koodi käivitamiseks:

const consent = await cookiesh.ready();
if (consent.analytics) initAnalytics();

getConsent()

getConsent(): ConsentState | null

Tagastab praeguse oleku sünkroonselt või null, kui Cookiesh pole veel laadimist lõpetanud. Eelista ready(), kui sa pole kindel, et skript on laaditud.

hasConsent(category)

hasConsent(category: 'necessary' | 'preferences' | 'analytics' | 'marketing'): boolean

Otsetee ühe kategooria kontrollimiseks. Tagastab false, kuni Cookiesh on laaditud.

Nõusoleku muutmine

Need meetodid salvestavad uue nõusolekukirje täpselt nii, nagu oleks külastaja kasutanud bännerit. Kutsu neid ainult vastusena külastaja selgele tegevusele, näiteks klõpsule sinu enda seadete lehel.

acceptAll(): Promise<ConsentState>
rejectAll(): Promise<ConsentState>
setConsent(choices: Partial<Record<'preferences' | 'analytics' | 'marketing', boolean>>): Promise<ConsentState>
// Kohandatud lüliti sinu konto seadete lehel
await cookiesh.setConsent({ analytics: event.target.checked });

Välja jäetud kategooriad säilitavad oma praeguse väärtuse. Kategooriat necessary muuta ei saa.

Kasutajaliidese kuvamine

showBanner(): void
openPreferences(): void
close(): void

showBanner() näitab esimese tasandi bännerit uuesti, isegi kui külastaja on juba valiku teinud. openPreferences() avab eelistuste keskuse kategooriapõhiste lülitite ja küpsiste loeteluga. close() sulgeb kumma tahes neist ilma salvestamata.

Sisselogitud kasutajad

Vaikimisi salvestatakse nõusolek brauseripõhiselt. Sisselogimisega toodetes seo see oma kasutaja ID-ga, et valik liiguks kasutajaga seadmete vahel kaasa:

identify(userId: string): Promise<ConsentState>
reset(): void
// Pärast sisselogimist
await cookiesh.identify(session.user.id);

// Pärast väljalogimist
cookiesh.reset();

identify() otsib üles kasutaja viimase valiku. Kui see on olemas, rakendab Cookiesh selle selles seadmes ja jätab bänneri vahele. Kui külastaja tegi valiku enne sisselogimist, salvestatakse see valik kasutaja jaoks. Cookiesh salvestab ainult edastatud ID soolatud räsi, mitte kunagi ID-d ennast. Kasuta läbipaistmatut sisemist ID-d, mitte e-posti aadressi.

reset() eemaldab seose kasutajaga, kuid jätab praeguse valiku sellesse seadmesse alles.

Skriptimärgendi atribuudid

Skriptimärgendit seadistatakse data- atribuutidega:

Atribuut Vaikeväärtus Kirjeldus
data-site-id Kohustuslik Sinu saidi ID, näiteks ck_live_8f2a91
data-language Automaatne Määrab bänneri keele (vaata Bänneri kohandamine)
data-auto-block true Määra false, et blokeerida ainult skriptid, mille oled ise märgistanud
data-nonce Puudub CSP nonce, mida rakendatakse skriptidele, mille Cookiesh blokeeringust vabastab
data-consent-mode true Määra false, et lõpetada Google Consent Mode’i signaalide saatmine

Silumine

Cookiesh.debug(): void

Käivita see brauseri konsoolis, et kuvada tuvastatud piirkond, sobinud reegel, bänneri versioon, iga blokeeritud skript ja iga kategooria praegune olek. See on saadaval ainult globaalsel objektil.