# Řešení problémů

> Nejčastější chyby při integraci klienta – vložený checkout se otevře jako vyskakovací okno, blokovaná okna, chybějící kontejnery a varování v konzoli.

Klient zaznamenává vše, co hlásí do konzole prohlížeče, s předponou `[Entase API]`. Nejprve otevřete konzoli.

## Checkout se otevře jako vyskakovací okno místo panelu

Obvyklé příčiny v pořadí, v jakém je vhodné je zkontrolovat:

1. **Doména není důvěryhodným zdrojem.** Přidejte ji v Nastavení → Integrace a zohledněte předponu `www.`, pod kterou je váš web skutečně dostupný – viz [Integrace a přizpůsobení checkoutu](/organizers/settings/integrations-and-checkout-customization.md).
2. **Stránka není načítána přes HTTPS.** Vložený checkout se na nezabezpečené stránce nikdy nepoužije.
3. **Chybí veřejný klíč.** Bez `pk` klient nemůže ověřit, zda je vložený checkout povolený, a proto zůstane u vyskakovacího okna.
4. **`book()` se spustilo příliš brzy.** Kontrola oprávnění je asynchronní a do jejího dokončení je režim vyskakovací okno. Checkout otevřený automaticky při načtení stránky ji může předběhnout – viz [Režimy checkoutu](/developers/js-client/checkout-modes.md).
5. **`connect-src` blokuje vaše pravidlo Content Security Policy**, takže se kontrola nikdy nedokončí. V konzoli se zobrazí blokovaný požadavek.

`entase.getCheckoutMode()` hlásí vyřešený režim a je nejrychlejším způsobem, jak rozlišit problémy s konfigurací od problémů s časováním.

## „Režim panelového checkoutu je pro localhost povolen“

Při vývoji je to očekávané. Klient předpokládá panelový režim na `localhost` a `127.0.0.1`, abyste mohli vytvářet rozvržení s vloženým checkoutem, a varuje vás, protože tento předpoklad nic neříká o produkci. Před nasazením přidejte svou skutečnou doménu mezi důvěryhodné zdroje.

## Vyskakovací okno je blokováno

Prohlížeče umožňují otevřít okno pouze během akce uživatele. Zavolejte `book()` synchronně uvnitř obsluhy kliknutí, nikoli po `await`, `fetch` nebo `setTimeout`. Viz [Režimy checkoutu](/developers/js-client/checkout-modes.md).

## Panel se otevře prázdný

Iframe checkoutu byl zablokován. Ve své direktivě `frame-src` pravidla Content Security Policy povolte `https://www.entase.com` – viz [Instalace klienta](/developers/js-client/installing-the-client.md).

## „Entase není definováno“

Skript ještě nebyl načtený, když se váš kód spustil. Stává se to, když je `client.js` načítán pomocí `async` nebo `defer` nebo je umístěn za skriptem, který jej používá. Počkejte na událost `entase:ready` – viz [Instalace klienta](/developers/js-client/installing-the-client.md).

## „Pokus o rezervaci události po zničení klienta“

Na instanci bylo zavoláno `destroy()` a již ji nelze používat. V jednostránkové aplikaci to obvykle znamená, že komponenta zrušila svého klienta, zatímco sdílený odkaz zůstal na místě. Pro nové zobrazení vytvořte novou instanci.

## „Inicializace rámce Entase selhala. Kontejner nebyl nalezen.“

Pouze pro widget vložení. Kód `obj` v konfiguraci neodpovídá žádnému prvku na stránce. ID kontejneru musí být `entase_` následované stejným kódem a musí existovat v DOM před inicializací widgetu – zkontrolujte překlep nebo kontejner vykreslený později vašimi vlastními skripty.

## Spustí se pouze poslední posluchač události

`on()` uchovává jedno zpětné volání pro každý název události a registrace druhého nahradí první. Zaregistrujte jej jednou a větvení proveďte uvnitř tohoto zpětného volání – viz [Události](/developers/js-client/events.md).

## Vyskakovací okno se otevře na nesprávné obrazovce

Středový bod se vypočítá při vytvoření instance a neaktualizuje se, když návštěvník přesune okno prohlížeče. Před rezervací jej přepočítejte pomocí `setTopWindowCenter()` – viz [Referenční přehled metod](/developers/js-client/methods.md).

## V objednávkách chybí parametry sledování

Samostatný klient nečte adresu URL vaší stránky. Předejte parametry sami do `tprm` – viz [Sledování a souhlas](/developers/js-client/tracking-and-consent.md). Upozorňujeme, že `setTracking()` nahradí celý objekt místo sloučení s ním, takže pozdější volání může bez upozornění zahodit dřívější parametry.
