Klient se z CDN Entase dodává jako jediný soubor. Neexistuje žádný balíček npm, žádný bundle k sestavení ani žádná závislost, kterou by bylo nutné udržovat aktuální – vždy získáte aktuální verzi.
<script src="https://js.entase.com/client.js"></script>Načtením skriptu se definuje globální třída Entase. Samo o sobě nedělá nic dalšího: žádné síťové požadavky, žádné změny DOM, nic se nevykresluje. Vše začíná až vytvořením instance.
Vytvoření instance
const entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY' });Vytvořte jednu instanci na stránku a používejte ji pro každou událost. Konstruktor zaregistruje ve window listener message a začne zjišťovat, který režim checkoutu smí vaše doména používat, takže vytvoření několika instancí znamená duplicitní listenery a duplicitní volání detekce bez jakéhokoli přínosu.
Každá možnost má výchozí hodnotu, takže new Entase() bez argumentů je platné – bez pk však klient nemůže ověřit, že vaše doména smí používat vložený checkout, a vždy se vrátí k vyskakovacímu oknu. Viz Režimy checkoutu.
Asynchronní načítání skriptu
Pokud client.js načítáte pomocí async nebo defer, třída při spuštění vašeho inline skriptu ještě nebude existovat. Knihovna po načtení vyvolá ve window událost entase:ready, proto na ni počkejte:
<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>Nejprve je důležitá kontrola typeof: pokud se skript již načetl, událost entase:ready už byla vyvolána a čekání na ni by trvalo navždy.
Úklid
V jednostránkové aplikaci zavolejte destroy(), když se odpojí pohled, kterému instance patří:
entase.destroy();Tím se odstraní listenery ve window, které klient zaregistroval. Zničenou instanci nelze znovu použít – volání book() na ní zapíše chybu do logu a nic neudělá. Místo toho vytvořte novou instanci.
Zásady zabezpečení obsahu
Pokud váš web odesílá hlavičku Content-Security-Policy, checkout potřebuje:
script-src https://js.entase.com– pro načtení knihovny.frame-src https://www.entase.com– checkout se v režimu panelu vykresluje v iframe.connect-src https://www.entase.com– klient volá API Entase, aby zjistil povolený režim checkoutu.
Bez frame-src vytvoří režim panelu prázdný panel. Bez connect-src se detekce režimu nezdaří a každý checkout se otevře jako vyskakovací okno.