Zaključek nakupa se odpre v enem od dveh načinov.
Plošča je vdelana plošča, prikazana znotraj vaše strani. Na namiznih napravah se pomakne z desne strani, njena širina pa je omejena z pane.width; v mobilnih napravah se pomakne navzgor z dna. Obiskovalec ostane na vašem spletnem mestu, plošča pa se zapre, ko pritisne tipko Escape ali klikne zatemnjeno območje.
Pojavno okno je ločeno okno brskalnika, postavljeno na sredino zaslona obiskovalca. Odjemalec spremlja, ali je okno zaprto, da lahko odstrani ozadje.
Vdelani zaključek nakupa zahteva zaupanja vredno izhodišče
Način plošče prikaže zaključek nakupa Entase v elementu iframe na vaši domeni, zato je dovoljen le za domene, ki ste jih izrecno odobrili. V razdelku Nastavitve → Integracije dodajte med Zaupanja vredna izhodišča vsako domeno, ki odpre zaključek nakupa – glejte Integracije in prilagajanje zaključka nakupa.
Pomembno je, ali je vključena predpona www.. Če niste prepričani, katero obliko uporablja vaše spletno mesto, dodajte obe.
Če vaše domene ni na seznamu, zaključek nakupa še vedno deluje – le odpre se kot pojavno okno.
Kako se razreši 'auto'
Pri privzeti nastavitvi checkoutMode: 'auto' se odjemalec odloči v naslednjem vrstnem redu:
- Brez HTTPS → pojavno okno. Vdelani zaključek nakupa se nikoli ne uporabi na nezaščiteni strani.
localhostali127.0.0.1→ plošča, pri čemer se v konzolo zapiše opozorilo. To je priročnost za razvoj, da lahko gradite z vdelano postavitvijo; ne pove ničesar o tem, ali je vaša produkcijska domena dovoljena.- V drugih primerih → odjemalec Entase vpraša, ali lahko to izhodišče uporablja vdelani zaključek nakupa, pri čemer pošlje
pkza prepoznavo računa. Če odgovor vključuje ploščo, način postane plošča.
Dokler ta odgovor ne prispe, je način popup. To vedenje vas bo najverjetneje presenetilo: preverjanje je asinhrono, zato lahko klic book(), sprožen takoj ob nalaganju strani – preden je imel obiskovalec možnost kar koli klikniti – še vedno odpre pojavno okno tudi na povsem pravilno konfigurirani domeni. V praksi dejanski klik vedno sledi precej po tem, ko je preverjanje zaključeno. Če zaključek nakupa odpirate samodejno, način vsilite, namesto da se zanašate na zaznavanje.
Vsilitev načina
Če želite zaznavanje v celoti preskočiti, nastavite checkoutMode izrecno:
const entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY', checkoutMode: 'popup' });Lahko pa ga preglasite za posamezno rezervacijo:
entase.book('EVENT_ID', { checkoutMode: 'popup' });Če na domeni, ki ni zaupanja vredno izhodišče, vsilite 'pane', s tem ne pridobite dovoljenja – plošča se odpre, vendar zaključek nakupa v njej ne more komunicirati z vašo stranjo. 'popup' uporabite kot zavestno izbiro, 'auto' pa pustite nastavljen, kadar želite vdelani zaključek nakupa povsod, kjer je dovoljen.
Neprepoznana vrednost se prezre in obravnava kot 'auto'.
Branje in spreminjanje načina med izvajanjem
entase.getCheckoutMode(); // 'pane' or 'popup' — never 'auto'
entase.setCheckoutMode('popup'); // applies to every later book() callgetCheckoutMode() vrne razrešeni način, zato sporoča, kaj se bo dejansko zgodilo. Če način nastavite nazaj na 'auto', se zaznavanje znova izvede.
Blokatorji pojavnih oken
Brskalniki window.open() dovolijo le med dejanjem uporabnika. book() pokličite neposredno znotraj obravnavalnika klika – ne po await, fetch ali setTimeout, saj do takrat dejanje poteče in pojavno okno je blokirano.
// Blocked: the gesture is gone by the time book() runs.
button.addEventListener('click', async () => {
const event = await fetch('/api/current-event').then(r => r.json());
entase.book(event.id);
});
// Fine: resolve the id first, open on the click.
button.addEventListener('click', () => entase.book(button.dataset.eventId));To vpliva le na način pojavnega okna. Način plošče ustvari element na strani in zanj to ne velja.