Pokladna se otevře v jednom ze dvou režimů.
Panel je vložený panel vykreslený uvnitř vaší stránky. Na desktopu se vysune zprava a jeho šířka je omezena hodnotou pane.width; na mobilu se vysune zdola. Návštěvník zůstává na vašem webu a panel se zavře po stisknutí klávesy Escape nebo kliknutí do ztmavené oblasti.
Vyskakovací okno je samostatné okno prohlížeče vycentrované na obrazovce návštěvníka. Klient sleduje, zda bylo okno zavřeno, aby mohl odstranit pozadí.
Vložená pokladna vyžaduje důvěryhodný zdroj
Režim panelu vykresluje pokladnu Entase v prvku iframe na vaší doméně, a je proto povolen pouze pro domény, které jste výslovně autorizovali. Každou doménu, která otevírá pokladnu, přidejte do položky Důvěryhodné zdroje v nabídce Nastavení → Integrace – viz Integrace a přizpůsobení pokladny.
Záleží na tom, zda je zahrnuta předpona www.. Pokud si nejste jistí, kterou variantu váš web používá, přidejte obě.
Pokud vaše doména není na seznamu, pokladna stále funguje – pouze se otevře jako vyskakovací okno.
Jak se určuje hodnota 'auto'
Při výchozím nastavení checkoutMode: 'auto' klient rozhoduje v tomto pořadí:
- Bez HTTPS → vyskakovací okno. Vložená pokladna se na nezabezpečené stránce nikdy nepoužívá.
localhostnebo127.0.0.1→ panel s varováním zaznamenaným do konzole. Jde o usnadnění vývoje, abyste mohli pracovat s vloženým rozvržením; neznamená to nic o tom, zda je vaše produkční doména povolena.- V ostatních případech → klient se Entase zeptá, zda tento zdroj smí používat vloženou pokladnu, a k identifikaci účtu odešle
pk. Pokud odpověď zahrnuje panel, režim se nastaví na panel.
Dokud tato odpověď nedorazí, je režim vyskakovací okno. Toto chování vás s největší pravděpodobností překvapí: kontrola je asynchronní, takže volání book() spuštěné ihned při načtení stránky – dříve, než návštěvník stihne na cokoli kliknout – může i na správně nastavené doméně otevřít vyskakovací okno. V praxi skutečné kliknutí vždy nastane dlouho po dokončení kontroly. Pokud pokladnu otevíráte automaticky, režim vynuťte, místo abyste se spoléhali na detekci.
Vynucení režimu
Chcete-li detekci zcela přeskočit, nastavte checkoutMode výslovně:
const entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY', checkoutMode: 'popup' });Nebo jej přepište pro jednu rezervaci:
entase.book('EVENT_ID', { checkoutMode: 'popup' });Vynucení 'pane' na doméně, která není důvěryhodným zdrojem, neuděluje oprávnění – panel se otevře, ale pokladna v něm nemůže komunikovat s vaší stránkou. Použijte 'popup' jako záměrnou volbu a ponechte 'auto', pokud chcete vloženou pokladnu všude, kde je povolena.
Nerozpoznaná hodnota se ignoruje a je považována za 'auto'.
Zjištění a změna režimu za běhu
entase.getCheckoutMode(); // 'pane' or 'popup' — never 'auto'
entase.setCheckoutMode('popup'); // applies to every later book() callgetCheckoutMode() vrací určený režim, takže uvádí, co se skutečně stane. Nastavením režimu zpět na 'auto' se detekce spustí znovu.
Blokování vyskakovacích oken
Prohlížeče povolují window.open() pouze během akce uživatele. Zavolejte book() přímo uvnitř obslužné rutiny kliknutí – nikoli po await, fetch nebo setTimeout, kdy už akce vypršela a vyskakovací okno je zablokováno.
// 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));Týká se to pouze režimu vyskakovacího okna. Režim panelu vytváří prvek na stránce a toto omezení se na něj nevztahuje.