Clientul este livrat din CDN-ul Entase ca un singur fișier. Nu există niciun pachet npm, niciun bundle de generat și nicio dependență de actualizat – primiți întotdeauna versiunea curentă.
<script src="https://js.entase.com/client.js"></script>Încărcarea scriptului definește o clasă globală Entase. Nu face nimic altceva de una singură: nu efectuează solicitări de rețea, nu modifică DOM-ul și nu afișează nimic. Totul începe când creați o instanță.
Crearea unei instanțe
const entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY' });Creați o singură instanță per pagină și reutilizați-o pentru fiecare eveniment. Constructorul înregistrează un listener message pe fereastră și începe să detecteze ce mod de checkout are voie să utilizeze domeniul dvs., astfel că crearea mai multor instanțe înseamnă listenere duplicate și apeluri de detectare duplicate, fără niciun beneficiu.
Fiecare opțiune are o valoare implicită, astfel că new Entase() fără argumente este valid – însă fără pk, clientul nu poate verifica dacă domeniul dvs. poate utiliza checkout-ul inline și va reveni întotdeauna la o fereastră pop-up. Consultați Moduri de checkout.
Încărcarea asincronă a scriptului
Dacă încărcați client.js cu async sau defer, clasa nu va exista încă atunci când rulează scriptul dvs. inline. Biblioteca emite un eveniment entase:ready pe window după ce s-a încărcat, așa că așteptați-l:
<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>Verificarea typeof este importantă mai întâi: dacă scriptul a terminat deja încărcarea, entase:ready a fost deja emis, iar ascultarea acestuia ar aștepta la nesfârșit.
Curățare
Într-o aplicație cu o singură pagină, apelați destroy() atunci când vizualizarea care deține instanța este demontată:
entase.destroy();Aceasta elimină listener-ele de fereastră înregistrate de client. O instanță distrusă nu poate fi reutilizată – apelarea book() pe aceasta înregistrează o eroare și nu face nimic. Creați în schimb o instanță nouă.
Politica de securitate a conținutului
Dacă site-ul dvs. trimite un antet Content-Security-Policy, checkout-ul are nevoie de:
script-src https://js.entase.com– pentru a încărca biblioteca.frame-src https://www.entase.com– checkout-ul se afișează într-un iframe în modul panou.connect-src https://www.entase.com– clientul apelează API-ul Entase pentru a determina modul de checkout permis.
Fără frame-src, modul panou produce un panou gol. Fără connect-src, detectarea modului eșuează și fiecare checkout se deschide ca pop-up.