De client logt alles wat hij rapporteert naar de browserconsole, voorafgegaan door [Entase API]. Open eerst de console.
De checkout wordt als pop-up geopend in plaats van als paneel
De gebruikelijke oorzaken, in de volgorde waarin je ze het best controleert:
- Het domein is geen vertrouwde origin. Voeg het toe in Instellingen → Integraties, met hetzelfde
www.-voorvoegsel als je site daadwerkelijk gebruikt – zie Integraties en checkoutaanpassing. - De pagina wordt niet via HTTPS aangeboden. Inline checkout wordt nooit gebruikt op een onbeveiligde pagina.
- Geen publiceerbare sleutel. Zonder
pkkan de client niet controleren of inline checkout is toegestaan, dus blijft hij een pop-up gebruiken. book()werd te vroeg uitgevoerd. De toestemmingscontrole verloopt asynchroon en de modus is een pop-up totdat er antwoord is. Een checkout die automatisch wordt geopend bij het laden van de pagina kan daarop vooruitlopen – zie Checkoutmodi.connect-srcwordt geblokkeerd door je Content Security Policy, waardoor de controle nooit wordt voltooid. De console toont het geblokkeerde verzoek.
entase.getCheckoutMode() geeft de bepaalde modus terug en is de snelste manier om configuratieproblemen van timingproblemen te onderscheiden.
"Pane checkout mode enabled for localhost"
Verwacht tijdens de ontwikkeling. De client gaat uit van paneelmodus op localhost en 127.0.0.1, zodat je kunt ontwikkelen met de inline lay-out, en waarschuwt omdat die aanname niets zegt over productie. Voeg je echte domein toe aan vertrouwde origins voordat je live gaat.
De pop-up wordt geblokkeerd
Browsers staan alleen toe dat een venster wordt geopend tijdens een gebruikersactie. Roep book() synchroon aan in de click-handler, niet na een await, een fetch of een setTimeout. Zie Checkoutmodi.
Het paneel wordt leeg geopend
De checkout-iframe is geblokkeerd. Sta https://www.entase.com toe in de frame-src-richtlijn van je Content Security Policy – zie De client installeren.
"Entase is not defined"
Het script was nog niet volledig geladen toen je code werd uitgevoerd. Dit gebeurt wanneer client.js met async of defer wordt geladen, of na het script wordt geplaatst dat het gebruikt. Wacht op de gebeurtenis entase:ready – zie De client installeren.
"Trying to book an event after the Client has been destroyed"
destroy() is aangeroepen op de instantie en deze kan niet langer worden gebruikt. In een single-page application betekent dit meestal dat een component zijn client heeft afgebroken terwijl een gedeelde referentie bleef bestaan. Maak een nieuwe instantie voor de nieuwe weergave.
"Entase frame initialization failed. Container not found."
Alleen voor de embedwidget. De obj-code in de configuratie komt niet overeen met een element op de pagina. De id van de container moet entase_ gevolgd door dezelfde code zijn, en deze moet in de DOM bestaan voordat de widget wordt geïnitialiseerd – controleer op een typefout of op een container die later door je eigen scripts wordt gerenderd.
Alleen de laatste event listener wordt uitgevoerd
on() behoudt één callback per gebeurtenisnaam en het registreren van een tweede vervangt de eerste. Registreer één keer en vertak vanuit die callback – zie Gebeurtenissen.
De pop-up wordt op het verkeerde scherm geopend
Het middelpunt wordt berekend wanneer de instantie wordt gemaakt en wordt niet bijgewerkt wanneer de bezoeker het browservenster verplaatst. Bereken het opnieuw voordat je boekt met setTopWindowCenter() – zie Naslagwerk methoden.
Trackingparameters ontbreken in bestellingen
De zelfstandige client leest de URL van je pagina niet. Geef de parameters zelf door aan tprm – zie Tracking en toestemming. Let op dat setTracking() het volledige object vervangt in plaats van ermee samen te voegen, waardoor een latere aanroep eerder ingestelde parameters stilzwijgend kan verwijderen.