window.homieBot ist undefined
window.homieBot ist undefined
Das Objekt existiert erst, nachdem das Embed initialisiert wurde — beim Seitenaufruf kann es daher
undefined sein.- Stelle sicher, dass das Skript tatsächlich lädt. Prüfe im Netzwerk-Tab, ob
embed.min.jsmit200zurückkommt. - Stelle sicher, dass
chatbotIdam Script-Tag oder inwindow.homieBotConfiggesetzt ist. Ohne sie loggt das Embed einen Fehler und stoppt. - Höre auf das Event
homiebot:api-ready, statt direkt aufwindow.homieBotzuzugreifen. - Für ältere Embed-Versionen oder spät gebundenen Code nutze den
waitForHomie()-Polling-Fallback aus den Beispielen.
Nachrichten werden nicht gesendet
Nachrichten werden nicht gesendet
sendMessage und getHistory benötigen ein bereites Chat-Iframe, nicht nur window.homieBot.- Warte auf das Event
homiebot:assistant-readyoder prüfewindow.homieBot.isReady(), bevor du sendest. - Das Iframe lädt verzögert beim ersten Öffnen. Rufst du
sendMessageauf, öffnet es den Chat und wartet intern, aber das Promise wird abgelehnt, wenn das Iframe nie bereit wird (z. B. wenn es blockiert ist). - Prüfe, ob die Seite Iframes über eine strikte Content Security Policy (CSP) blockiert und ob Drittanbieter-Skripte nicht über
document.readyState === "complete"hinaus verzögert werden.
Origin- oder Domain-Mismatch
Origin- oder Domain-Mismatch
Das Embed validiert jede
postMessage gegen die konfigurierte domain und verwirft Nachrichten von jedem anderen Origin stillschweigend.- Stelle sicher, dass das
domain-Attribut (oderhomieBotConfig.domain) exakt mit dem Origin übereinstimmt, der den Chat ausliefert — in den meisten Fällenhttps://chat.yourhomie.ai. - Ein abschließender Slash oder ein
http- vs.https-Mismatch reicht aus, um es zu brechen. - Öffnet der Chat, kommen aber nie Antworten an, prüfe, ob die API-Basis für deine Umgebung erreichbar ist (
api.yourhomie.ai).
Metadaten bleiben in einer SPA über Seiten hinweg bestehen
Metadaten bleiben in einer SPA über Seiten hinweg bestehen
Mit
updateMessageMetadata() gesetzte Metadaten liegen im globalen Window-Kontext und werden bei clientseitiger Navigation nicht gelöscht.- Lösche veraltete Schlüssel bei jedem Routenwechsel, indem du
updateMessageMetadata()mitnull-Werten aufrufst. - Beachte die Limits pro Aufruf: max. 5 Schlüssel, Schlüssel ≤ 50 Zeichen, Wert ≤ 100 Zeichen.
Das Widget ist nicht sichtbar
Das Widget ist nicht sichtbar
Das Embed lädt, aber es erscheint kein Launcher-Button oder Chat.
- Der Assistent ist auf der Plattform möglicherweise inaktiv oder auf privat gesetzt — in diesen Fällen beendet sich das Embed frühzeitig.
- Eine Seiten-Konfiguration kann den Chatbot auf der aktuellen URL ausblenden.
- Der Launcher kann hinter Sticky-Headern oder Badges liegen. Erhöhe
shadowHostZIndexin deinen Plattform-Style-Einstellungen, um ihn über andere Elemente zu heben. - Der Launcher-Button kann absichtlich ausgeblendet sein (
hideToggleButton); öffne den Chat dann selbst mitwindow.homieBot.open().
FAQ
Kann ich eine neue Konversation erzwingen? Ja —sendMessage({ text: '...', newChat: true }).
Kann ich den Widget-Zustand lesen, ohne es zu öffnen?
Ja — isOpen() gibt den aktuellen Zustand zurück und verändert die UI nicht.
Woher weiß ich, dass das Iframe für Nachrichten bereit ist?
Prüfe isReady() oder höre auf das Event homiebot:assistant-ready.