installDashletGlobal()
Der Einstieg der Bibliothek. Rufen Sie ihn zuerst auf, auf Top-Level im Dashlet-Skript, vor allem, was verzögert werden könnte.
1. Signatur
import { installDashletGlobal } from 'ecmind-blue-dashlet';
const dashlet = installDashletGlobal(options); // options ist optional
// dashlet: Dashlet — der Instanz-Handle (Seite: Dashlet)
|
|
2. Was er tut
Synchron, vor der Rückkehr:
-
installiert
window.osDashletInit— einen stabilen Dispatcher pro Fenster; die Installation ist atomar und idempotent, und Host-Aufrufe, die vor der Konfiguration des Dashlets eintreffen, werden gepuffert (begrenzt, in Ankunftsreihenfolge) und bei der Aktivierung entleert — niemals verworfen; -
hängt den einzigen puffernden
message-Listener an (idempotent pro Fenster); -
startet den Webclient-Wire, wenn die Origin-Entscheidung es zulässt: ein nutzbarer konfigurierter
expectedOrigingibt den strengen Modus, ein weggelassener Origin in einem iframe den lernenden Modus, und ein Top-Level-Fenster ohne konfigurierten Origin erhält keinen Wire (siehe Origin-Konfiguration); -
macht das Dashlet aktiv und entleert die gepufferten Host-Aufrufe und -Nachrichten.
Asynchron:
-
die Rich-Client-Erkennung läuft — eine sofortige throw-safe-Probe plus Polling (Umgebungen und Erkennung); die Zustandsmaschine löst sich in genau einen der drei Zustände auf;
-
die Erkennungs-Wartezeit ist durch
detectionTimeoutMsplus 250 ms Sicherheitsnetz begrenzt; ein Timeout löst das Dashlet als Standalone auf.
3. Parameter
| Name | Typ | Beschreibung |
|---|---|---|
|
|
Das Konfigurationsobjekt — siehe DashletOptions
für die Feld-für-Feld-Referenz. Alle Felder sind optional; |
Verhalten:
-
Idempotente Registrierung: ein erneuter Aufruf installiert denselben stabilen Dispatcher. Ein späterer Aufruf im selben Fenster übernimmt den geteilten Sink (die letzte Konfiguration gewinnt) — der Wire der vorherigen Instanz empfängt schlicht keine Host-Events mehr.
-
Ohne ein nutzbares Window-Objekt oder bei
expectedOrigin === "*"wirft der Aufruf eineTypeErrorzur Installzeit (siehe Fehler).
4. Beispiele
import { installDashletGlobal } from 'ecmind-blue-dashlet';
// ERSTES. Top-Level.
const dashlet = installDashletGlobal({ expectedOrigin: 'https://enaio.example.com' });
await dashlet.init; // der normalisierte Init-Kontext
Siehe Schnellstart für das vollständige minimale Dashlet.
5. Fehler
-
TypeError('installDashletGlobal: no usable window object available')— keinoptions.windowund kein nutzbares Global (zum Beispiel Node ohne Window). -
TypeError('installDashletGlobal: expectedOrigin must never be "*"')— der Wildcard-Origin wird zur Installzeit abgelehnt, nicht zur Post-Zeit.