Widget-Installation
Verschiedene Möglichkeiten, das SalonBookIt-Widget zu Ihrer Website hinzuzufügen.
Via CDN (Empfohlen)
Der einfachste Weg ist, das Widget direkt von unserem CDN zu laden:
<!-- Am Ende des Body -->
<script src="https://app.salonbookit.com/static/widget/v1/salonbookit-widget.min.js"></script>
Das CDN liefert immer die neueste stabile Version. Um eine bestimmte Version festzulegen, verwenden Sie /widget/v1.2.3/salonbookit-widget.min.js
Verfügbare Dateien
| Datei | Größe | Beschreibung |
|---|---|---|
salonbookit-widget.min.js |
~25KB | Minifiziertes Script (Produktion) |
salonbookit-widget.js |
~50KB | Nicht-minifiziertes Script (Entwicklung) |
salonbookit-widget.css |
~10KB | Stile (bereits im JS enthalten) |
Via NPM Demnächst
Das NPM-Paket @salonbookit/widget wird in Kürze verfügbar sein. Verwenden Sie vorerst das CDN oder laden Sie die Dateien herunter.
Wenn verfügbar, können Sie es so installieren:
npm install @salonbookit/widget
import SalonBookIt from '@salonbookit/widget';
SalonBookIt.init({
apiKey: 'IHR_API_SCHLUESSEL',
container: '#salonbookit-widget'
});
Selbst gehostet
Sie können das Widget herunterladen und auf Ihrem eigenen Server hosten:
- Laden Sie die neueste Version herunter von salonbookit.com/downloads/widget
- Extrahieren Sie die Dateien in Ihr Assets-Verzeichnis
- Referenzieren Sie das Script in Ihrem HTML
<script src="/assets/js/salonbookit-widget.min.js"></script>
Beim Selbst-Hosten sind Sie dafür verantwortlich, das Widget aktuell zu halten. Wir empfehlen, monatlich nach Updates zu suchen.
CMS-Plattformen
WordPress
Fügen Sie den Code in einem benutzerdefinierten HTML-Block oder im Theme-Footer hinzu:
function salonbookit_widget_scripts() {
wp_enqueue_script(
'salonbookit-widget',
'https://app.salonbookit.com/static/widget/v1/salonbookit-widget.min.js',
array(),
'1.0',
true
);
}
add_action('wp_enqueue_scripts', 'salonbookit_widget_scripts');
Wix
- Gehen Sie zu Settings → Custom Code
- Fügen Sie einen neuen benutzerdefinierten Code hinzu
- Fügen Sie den Widget-Code ein
- Selecciona "Body - End"
Squarespace
- Gehen Sie zu Settings → Advanced → Code Injection
- Pega el código en la sección "Footer"
- Fügen Sie einen HTML-Block hinzu, wo Sie das Widget anzeigen möchten
Shopify
- Gehen Sie zu Online Store → Themes → Edit Code
- Öffnen Sie
theme.liquid - Fügen Sie das Script hinzu vor
</body>
JavaScript-Frameworks
React
import { useEffect, useRef } from 'react';
function BookingWidget({ apiKey }) {
const containerRef = useRef(null);
useEffect(() => {
// Script laden, wenn es nicht existiert
if (!window.SalonBookIt) {
const script = document.createElement('script');
script.src = 'https://app.salonbookit.com/static/widget/v1/salonbookit-widget.min.js';
script.async = true;
script.onload = () => initWidget();
document.body.appendChild(script);
} else {
initWidget();
}
function initWidget() {
window.SalonBookIt.init({
apiKey: apiKey,
container: containerRef.current,
onBookingComplete: (booking) => {
console.log('Buchung erstellt:', booking);
}
});
}
return () => {
// Cleanup falls erforderlich
};
}, [apiKey]);
return <div ref={containerRef} />;
}
export default BookingWidget;
Vue.js
<template>
<div ref="widgetContainer"></div>
</template>
<script>
export default {
name: 'BookingWidget',
props: {
apiKey: {
type: String,
required: true
}
},
mounted() {
this.loadWidget();
},
methods: {
loadWidget() {
if (window.SalonBookIt) {
this.initWidget();
} else {
const script = document.createElement('script');
script.src = 'https://app.salonbookit.com/static/widget/v1/salonbookit-widget.min.js';
script.onload = () => this.initWidget();
document.body.appendChild(script);
}
},
initWidget() {
window.SalonBookIt.init({
apiKey: this.apiKey,
container: this.$refs.widgetContainer,
onBookingComplete: (booking) => {
this.$emit('booking-complete', booking);
}
});
}
}
}
</script>
Problemlösung
Das Widget erscheint nicht
- Überprüfen Sie, dass der Container im DOM existiert, bevor Sie aufrufen
init() - Überprüfen Sie die Browser-Konsole auf Fehler
- Stellen Sie sicher, dass der API-Schlüssel korrekt ist
CORS-Fehler
Stellen Sie sicher, dass Ihre Domain in der Liste der erlaubten Ursprünge Ihres API-Schlüssels im Dashboard ist.
Das Script lädt nicht
- Überprüfen Sie die CDN-URL
- Überprüfen Sie, dass keine Script-Blocker aktiv sind
- Überprüfen Sie den Network-Tab in DevTools