Il client viene distribuito dalla CDN di Entase come singolo file. Non c'è alcun pacchetto npm, nessun bundle da creare e nessuna dipendenza da mantenere aggiornata – ottieni sempre la versione corrente.
<script src="https://js.entase.com/client.js"></script>Il caricamento dello script definisce una classe Entase globale. Non fa nient'altro autonomamente: nessuna richiesta di rete, nessuna modifica al DOM, nessun rendering. Tutto inizia quando crei un'istanza.
Creazione di un'istanza
const entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY' });Crea un'istanza per pagina e riutilizzala per ogni evento. Il costruttore registra un listener message sulla finestra e inizia a rilevare quale modalità di checkout è consentita per il tuo dominio, quindi creare più istanze comporta listener duplicati e chiamate di rilevamento duplicate senza alcun vantaggio.
Ogni opzione ha un valore predefinito, quindi new Entase() senza argomenti è valido – ma senza pk il client non può verificare che il tuo dominio possa usare il checkout inline e userà sempre come alternativa una finestra pop-up. Vedi Modalità di checkout.
Caricamento asincrono dello script
Se carichi client.js con async o defer, la classe non esisterà ancora quando verrà eseguito il tuo script inline. Una volta caricata, la libreria invia un evento entase:ready su window, quindi attendilo:
<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>È importante eseguire prima il controllo typeof: se lo script ha già terminato il caricamento, entase:ready è già stato inviato e restare in ascolto attenderebbe per sempre.
Pulizia
In un'applicazione a pagina singola, chiama destroy() quando la vista proprietaria dell'istanza viene smontata:
entase.destroy();Questo rimuove i listener della finestra registrati dal client. Un'istanza eliminata non può essere riutilizzata – chiamare book() su di essa registra un errore e non fa nulla. Crea invece una nuova istanza.
Politica di sicurezza dei contenuti
Se il tuo sito invia un'intestazione Content-Security-Policy, il checkout richiede:
script-src https://js.entase.com– per caricare la libreria.frame-src https://www.entase.com– il checkout viene visualizzato in un iframe in modalità pannello.connect-src https://www.entase.com– il client chiama l'API di Entase per determinare la modalità di checkout consentita.
Senza frame-src, la modalità pannello produce un pannello vuoto. Senza connect-src, il rilevamento della modalità non riesce e ogni checkout si apre come pop-up.