# Hibaelhárítás

> Az ügyfélintegráció során leggyakrabban felmerülő hibák – a beágyazott pénztár felugró ablakra váltása, blokkolt ablakok, hiányzó tárolók és konzolfelmeztetések.

Az ügyfél minden, a böngészőkonzolba jelentett üzenetet `[Entase API]` előtaggal lát el. Először nyissa meg a konzolt.

## A pénztár panel helyett felugró ablakként nyílik meg

A szokásos okok, az ellenőrzés javasolt sorrendjében:

1. **A domain nem megbízható origin.** Adja hozzá a Beállítások → Integrációk menüben, a webhelye által ténylegesen használt `www.` előtaggal egyezően – lásd: [Integrációk és a pénztár testreszabása](/organizers/settings/integrations-and-checkout-customization.md).
2. **Az oldal nincs HTTPS-en kiszolgálva.** Nem biztonságos oldalon a beágyazott pénztár soha nem használható.
3. **Nincs publikálható kulcs.** `pk` nélkül az ügyfél nem tudja ellenőrizni, hogy engedélyezett-e a beágyazott pénztár, ezért felugró ablaknál marad.
4. **A `book()` túl korán futott le.** Az engedély ellenőrzése aszinkron, és a válasz megérkezéséig felugró ablak mód van használatban. Az oldal betöltésekor automatikusan megnyitott pénztár megelőzheti ezt – lásd: [Pénztármódok](/developers/js-client/checkout-modes.md).
5. **A `connect-src` blokkolva van a Content Security Policy által**, ezért az ellenőrzés soha nem fejeződik be. A konzol megjeleníti a blokkolt kérést.

Az `entase.getCheckoutMode()` a feloldott módot jelenti, és ez a leggyorsabb módja annak megállapítására, hogy konfigurációs vagy időzítési problémáról van-e szó.

## „Pane checkout mode enabled for localhost”

Fejlesztés közben ez várható. Az ügyfél `localhost` és `127.0.0.1` esetén panelmódot feltételez, hogy a beágyazott elrendezéshez fejleszthessen, és azért figyelmeztet, mert ez a feltételezés semmit nem mond az éles környezetről. Élesítés előtt adja hozzá a valódi domaint a megbízható originökhez.

## A felugró ablak blokkolva van

A böngészők csak felhasználói művelet közben engedik meg egy ablak megnyitását. A `book()` függvényt szinkron módon, a kattintáskezelőn belül hívja meg, ne `await`, `fetch` vagy `setTimeout` után. Lásd: [Pénztármódok](/developers/js-client/checkout-modes.md).

## A panel üresen nyílik meg

A pénztár iframe-je blokkolva lett. Engedélyezze a `https://www.entase.com` címet a Content Security Policy `frame-src` direktívájában – lásd: [Az ügyfél telepítése](/developers/js-client/installing-the-client.md).

## „Entase is not defined”

A szkript még nem fejezte be a betöltést, amikor a kód lefutott. Ez akkor fordul elő, ha a `client.js` `async` vagy `defer` használatával töltődik be, vagy az azt használó szkript után van elhelyezve. Várja meg az `entase:ready` eseményt – lásd: [Az ügyfél telepítése](/developers/js-client/installing-the-client.md).

## „Trying to book an event after the Client has been destroyed”

A példányon meghívták a `destroy()` függvényt, ezért az többé nem használható. Egyoldalas alkalmazásban ez általában azt jelenti, hogy egy komponens megszüntette a saját ügyfelét, miközben egy megosztott hivatkozás megmaradt. Az új nézethez hozzon létre új példányt.

## „Entase frame initialization failed. Container not found.”

Csak beágyazási widget esetén. A konfigurációban szereplő `obj` kód nem egyezik az oldal egyetlen elemével sem. A tároló id-jének `entase_` előtagból és ugyanabból a kódból kell állnia, továbbá a widget inicializálása előtt már léteznie kell a DOM-ban – ellenőrizze, nincs-e elírás, vagy hogy a tárolót nem egy később futó saját szkript rendereli-e.

## Csak az utolsó eseményfigyelő fut le

Az `on()` eseménynevénként egy visszahívást tart meg, és egy második regisztrálása lecseréli az elsőt. Regisztráljon egyszer, majd ebből a visszahívásból ossza szét a feldolgozást – lásd: [Események](/developers/js-client/events.md).

## A felugró ablak rossz képernyőn nyílik meg

A középpont kiszámítása a példány létrehozásakor történik, és nem frissül, amikor a látogató áthelyezi a böngészőablakot. Foglalás előtt számítsa újra a `setTopWindowCenter()` használatával – lásd: [Metódusok referenciája](/developers/js-client/methods.md).

## Nyomkövetési paraméterek hiányoznak a rendelésekből

Az önálló ügyfél nem olvassa be az oldal URL-jét. Önnek kell továbbítania a paramétereket a `tprm` mezőbe – lásd: [Nyomkövetés és hozzájárulás](/developers/js-client/tracking-and-consent.md). Vegye figyelembe, hogy a `setTracking()` a teljes objektumot lecseréli, nem pedig egyesíti azt, ezért egy későbbi hívás észrevétlenül elhagyhat korábbi paramétereket.
