Klienten levereras från Entase CDN som en enda fil. Det finns inget npm-paket, inget paket att bygga och inget beroende att hålla uppdaterat – du får alltid den aktuella versionen.
<script src="https://js.entase.com/client.js"></script>När skriptet läses in definieras en global Entase-klass. Den gör inget annat på egen hand: inga nätverksanrop, inga DOM-ändringar, ingenting renderas. Allt börjar när du skapar en instans.
Skapa en instans
const entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY' });Skapa en instans per sida och återanvänd den för varje evenemang. Konstruktorn registrerar en message-lyssnare i fönstret och börjar identifiera vilket kassaläge din domän får använda, så att skapa flera instanser innebär dubblerade lyssnare och dubblerade identifieringsanrop utan någon nytta.
Varje alternativ har ett standardvärde, så new Entase() utan argument är giltigt – men utan pk kan klienten inte verifiera att din domän får använda inbäddad kassa och återgår alltid till ett popup-fönster. Se Kassalägen.
Läs in skriptet asynkront
Om du läser in client.js med async eller defer finns klassen ännu inte när ditt infogade skript körs. Biblioteket skickar en entase:ready-händelse på window när det har lästs in, så vänta 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>Kontrollen med typeof måste göras först: om skriptet redan har lästs in har entase:ready redan utlösts, och om du lyssnar efter den skulle du vänta för alltid.
Rensa upp
I en ensidesapplikation ska du anropa destroy() när vyn som äger instansen avmonteras:
entase.destroy();Detta tar bort fönsterlyssnarna som klienten registrerade. En förstörd instans kan inte återanvändas – att anropa book() på den loggar ett fel och gör ingenting. Skapa i stället en ny instans.
Säkerhetspolicy för innehåll
Om din webbplats skickar en Content-Security-Policy-header behöver kassan följande:
script-src https://js.entase.com– för att läsa in biblioteket.frame-src https://www.entase.com– kassan renderas i en iframe i panelläget.connect-src https://www.entase.com– klienten anropar Entase API för att fastställa vilket kassaläge som är tillåtet.
Utan frame-src ger panelläget en tom panel. Utan connect-src misslyckas lägesidentifieringen och varje kassa öppnas som en popup.