Asiakaskirjasto toimitetaan Entasen CDN:stä yhtenä tiedostona. npm-pakettia ei ole, rakennettavaa bundlea ei ole eikä riippuvuuksia tarvitse pitää ajan tasalla – saat aina nykyisen version.
<script src="https://js.entase.com/client.js"></script>Skriptin lataaminen määrittää globaalin Entase-luokan. Se ei tee itsenäisesti mitään muuta: ei verkkopyyntöjä, ei DOM-muutoksia eikä renderöityä sisältöä. Kaikki alkaa, kun luot instanssin.
Instanssin luominen
const entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY' });Luo yksi instanssi sivua kohden ja käytä sitä uudelleen kaikissa tapahtumissa. Konstruktori rekisteröi ikkunaan message-kuuntelijan ja alkaa selvittää, mitä kassatilaa verkkotunnuksesi saa käyttää, joten useiden instanssien luominen tarkoittaa päällekkäisiä kuuntelijoita ja tunnistuskutsuja ilman hyötyä.
Jokaisella asetuksella on oletusarvo, joten argumentiton new Entase() on kelvollinen – mutta ilman pk:ta asiakaskirjasto ei voi varmistaa, että verkkotunnuksesi voi käyttää upotettua kassaa, ja käyttää aina varavaihtoehtona ponnahdusikkunaa. Katso Kassatilat.
Skriptin lataaminen asynkronisesti
Jos lataat client.js:n käyttäen async- tai defer-attribuuttia, luokkaa ei vielä ole olemassa, kun upotettu skriptisi suoritetaan. Kirjasto lähettää window-objektille entase:ready-tapahtuman latauduttuaan, joten odota sitä:
<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>Ensin tehtävä typeof-tarkistus on tärkeä: jos skripti on jo latautunut, entase:ready on jo käynnistynyt ja sen kuunteleminen odottaisi ikuisesti.
Siivoaminen
Yksisivuisessa sovelluksessa kutsu destroy(), kun instanssin omistava näkymä poistetaan:
entase.destroy();Tämä poistaa asiakaskirjaston rekisteröimät ikkunakuuntelijat. Tuhottua instanssia ei voi käyttää uudelleen – sen book()-kutsuminen kirjaa virheen eikä tee mitään. Luo sen sijaan uusi instanssi.
Sisällön tietoturvakäytäntö
Jos sivustosi lähettää Content-Security-Policy-otsakkeen, kassa tarvitsee seuraavat:
script-src https://js.entase.com– kirjaston lataamiseen.frame-src https://www.entase.com– kassa renderöidään iframeen paneelitilassa.connect-src https://www.entase.com– asiakaskirjasto kutsuu Entase-APIa määrittääkseen sallitun kassatilan.
Ilman frame-src:ää paneelitila tuottaa tyhjän paneelin. Ilman connect-src:ää tilan tunnistus epäonnistuu ja jokainen kassa avautuu ponnahdusikkunana.