Klient sa z CDN Entase poskytuje ako jeden súbor. Neexistuje žiadny balík npm, žiadny balík na zostavenie ani žiadna závislosť, ktorú treba udržiavať aktuálnu – vždy získate aktuálnu verziu.
<script src="https://js.entase.com/client.js"></script>Načítaním skriptu sa definuje globálna trieda Entase. Samotný skript nerobí nič iné: žiadne sieťové požiadavky, žiadne zmeny DOM, nič sa nevykreslí. Všetko sa začne po vytvorení inštancie.
Vytvorenie inštancie
const entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY' });Vytvorte jednu inštanciu na stránku a používajte ju pre každú udalosť. Konštruktor zaregistruje poslucháč udalosti message v objekte window a začne zisťovať, ktorý režim checkoutu môže vaša doména používať, takže vytvorenie viacerých inštancií znamená duplicitných poslucháčov a duplicitné volania na zisťovanie bez akéhokoľvek prínosu.
Každá možnosť má predvolenú hodnotu, takže new Entase() bez argumentov je platné – bez pk však klient nedokáže overiť, či vaša doména môže používať vložený checkout, a vždy prejde na kontextové okno. Pozrite si Režimy checkoutu.
Asynchrónne načítanie skriptu
Ak načítate client.js pomocou async alebo defer, trieda ešte nebude existovať, keď sa spustí váš vložený skript. Knižnica po načítaní odošle udalosť entase:ready v objekte window, preto na ňu počkajte:
<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>Je dôležité najprv vykonať kontrolu typeof: ak skript už dokončil načítanie, udalosť entase:ready už bola odoslaná a jej počúvanie by čakalo donekonečna.
Vyčistenie
V jednostránkovej aplikácii zavolajte destroy(), keď sa zobrazenie, ktorému patrí inštancia, odpojí:
entase.destroy();Tým sa odstránia poslucháče objektu window, ktoré klient zaregistroval. Zničenú inštanciu nemožno znova použiť – volanie book() na nej zapíše chybu a nič nevykoná. Namiesto toho vytvorte novú inštanciu.
Politika zabezpečenia obsahu
Ak váš web odosiela hlavičku Content-Security-Policy, checkout potrebuje:
script-src https://js.entase.com– na načítanie knižnice.frame-src https://www.entase.com– checkout sa v režime panela vykresľuje v prvku iframe.connect-src https://www.entase.com– klient volá API Entase, aby určil povolený režim checkoutu.
Bez frame-src režim panela vytvorí prázdny panel. Bez connect-src zlyhá zisťovanie režimu a každý checkout sa otvorí ako kontextové okno.