Embed (loader.js) Support

Diese Seite fasst die häufigsten Gründe zusammen, warum das Widget beim Einbetten auf einer anderen Website nicht funktioniert, sowie schnelle Prüfungen.

Einrichtung

Das Widget wird mit dem folgenden Skript auf einer anderen Website eingebettet. ROOM_UUID ist für jeden Raum unterschiedlich.

<script src="https://bitenta.com/embed/loader.js?room=ROOM_UUID" async></script>

Es ist wichtig, dass die Host-Seite HTTPS ist und die Skript-URL ebenfalls über HTTPS bereitgestellt wird.

Erste Prüfungen, wenn es nicht funktioniert

  • Gibt es einen CSP- oder Mixed-Content-Fehler in der Browser-Konsole?
  • Gibt loader.js im Netzwerk-Tab 200 zurück?
  • Werden API-Aufrufe (api/embed/...) wegen CORS blockiert?
  • Wird die Kamera-/Mikrofonberechtigung über HTTPS angefordert?
  • Blockieren Adblock-/Privacy-Erweiterungen Pusher oder WebSocket?

Skript wird nicht geladen

CSP

Wenn die Content-Security-Policy der Host-Site das Laden externer Skripte blockiert, läuft loader.js gar nicht. In der Konsole erscheint meist ein Fehler wie Refused to load the script in der Konsole.

Mixed Content

Wenn die Host-Site HTTPS ist, das Skript aber HTTP, blockiert der Browser es.

API-Aufrufe blockiert (CORS)

Wenn die Host-Site eine andere Origin hat, werden api/embed/...-Anfragen cross-origin. Sind die CORS-Berechtigungen auf dem Server nicht korrekt, blockiert der Browser sie.

Typischer Fehler: CORS policy

Kamera/Mikrofon öffnet sich nicht

getUserMedia erfordert in den meisten Browsern einen sicheren Kontext. Die Host-Seite muss HTTPS sein (localhost ist eine Ausnahme).

Typischer Fehler: NotAllowedError oder SecurityError

WebSocket-/WebRTC-Sperren

Unternehmensnetzwerke können WebSocket- oder STUN/TURN-Verkehr blockieren. In diesem Fall kommen Warteschlangen-Updates oder der Gesprächsstream möglicherweise nicht an.

Prüfung: Wird im Netzwerk-Tab eine WSS-Verbindung hergestellt? Werden ICE-Kandidaten gesammelt?