Klienten leveres fra Entase CDN som én enkelt fil. Det er ingen npm-pakke, ingen pakke å bygge og ingen avhengighet å holde oppdatert – du får alltid den nyeste versjonen.
<script src="https://js.entase.com/client.js"></script>Når skriptet lastes inn, defineres en global Entase-klasse. Den gjør ikke noe annet på egen hånd: ingen nettverksforespørsler, ingen DOM-endringer, ingenting gjengis. Alt starter når du oppretter en instans.
Opprette en instans
const entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY' });Opprett én instans per side, og bruk den på nytt for hvert arrangement. Konstruktøren registrerer en message-lytter på window og begynner å fastslå hvilken checkout-modus domenet ditt har tillatelse til å bruke, så hvis du oppretter flere instanser, fører det til dupliserte lyttere og dupliserte registreringskall uten noen fordel.
Alle alternativer har en standardverdi, så new Entase() uten argumenter er gyldig – men uten pk kan ikke klienten verifisere at domenet ditt kan bruke innebygd checkout, og vil alltid falle tilbake til et popup-vindu. Se Checkout-moduser.
Laste inn skriptet asynkront
Hvis du laster inn client.js med async eller defer, finnes ikke klassen ennå når det innebygde skriptet ditt kjører. Biblioteket utløser en entase:ready-hendelse på window når det er lastet inn, så vent på den:
<script src="https://js.entase.com/client.js" async></script>
<script>
let entase = null;
const init = () => { entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY' }); };
if (typeof Entase !== 'undefined') init();
else window.addEventListener('entase:ready', init);
</script>Det er viktig å sjekke typeof først: Hvis skriptet allerede er ferdig lastet inn, har entase:ready allerede blitt utløst, og det å lytte etter den ville ventet for alltid.
Rydde opp
I en enkeltsideapplikasjon kaller du destroy() når visningen som eier instansen, avmonteres:
entase.destroy();Dette fjerner window-lytterne som klienten registrerte. En ødelagt instans kan ikke brukes på nytt – et kall til book() på den logger en feil og gjør ingenting. Opprett en ny instans i stedet.
Content Security Policy
Hvis nettstedet ditt sender en Content-Security-Policy-header, trenger checkouten følgende:
script-src https://js.entase.com– for å laste inn biblioteket.frame-src https://www.entase.com– checkouten gjengis i en iframe i panelmodus.connect-src https://www.entase.com– klienten kaller Entase API for å fastslå den tillatte checkout-modusen.
Uten frame-src gir panelmodus et tomt panel. Uten connect-src mislykkes modusregistreringen, og hver checkout åpnes som et popup-vindu.