A kliens egyetlen fájlként érkezik az Entase CDN-jéről. Nincs npm-csomag, nincs elkészítendő bundle, és nincs naprakészen tartandó függőség – mindig az aktuális verziót kapja.
<script src="https://js.entase.com/client.js"></script>A szkript betöltése egy globális Entase osztályt definiál. Önmagában semmi mást nem tesz: nem indít hálózati kéréseket, nem módosítja a DOM-ot, és nem jelenít meg semmit. Minden akkor kezdődik, amikor létrehoz egy példányt.
Példány létrehozása
const entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY' });Hozzon létre oldalanként egy példányt, és használja azt újra minden eseményhez. A konstruktor egy message figyelőt regisztrál az ablakon, és elkezdi felderíteni, hogy a domainje milyen checkout mód használatára jogosult, ezért több példány létrehozása csak megkettőzött figyelőket és megkettőzött felderítési hívásokat jelent, előny nélkül.
Minden beállításnak van alapértelmezett értéke, így argumentumok nélkül is érvényes a new Entase() – de pk nélkül a kliens nem tudja ellenőrizni, hogy a domainje használhat-e beágyazott checkoutot, ezért mindig felugró ablakra vált vissza. Lásd: Checkout módok.
A szkript aszinkron betöltése
Ha a client.js fájlt async vagy defer attribútummal tölti be, az osztály még nem fog létezni, amikor a beágyazott szkriptje lefut. A könyvtár betöltődés után egy entase:ready eseményt küld a window objektumon, ezért várja meg azt:
<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>Fontos, hogy először a typeof ellenőrzés történjen: ha a szkript már befejezte a betöltést, az entase:ready már lefutott, így az erre való figyelés örökké várakozna.
Takarítás
Egy egyoldalas alkalmazásban hívja meg a destroy() metódust, amikor a példányhoz tartozó nézet leválasztásra kerül:
entase.destroy();Ez eltávolítja a kliens által regisztrált ablakfigyelőket. Egy megsemmisített példány nem használható újra – a rajta meghívott book() hibát naplóz, és nem tesz semmit. Hozzon létre helyette egy új példányt.
Tartalombiztonsági szabályzat
Ha a webhelye Content-Security-Policy fejlécet küld, a checkouthoz a következők szükségesek:
script-src https://js.entase.com– a könyvtár betöltéséhez.frame-src https://www.entase.com– a checkout panel módban iframe-ben jelenik meg.connect-src https://www.entase.com– a kliens meghívja az Entase API-ját az engedélyezett checkout mód meghatározásához.
frame-src nélkül a panel mód üres panelt jelenít meg. connect-src nélkül a mód felderítése sikertelen, és minden checkout felugró ablakként nyílik meg.