has(method)
rich.has(method) ist die Live-Fähigkeits-Probe (Capability-Probe) des
Rich-Client-Handles: sie prüft, ob die Bridge (window.osClient) das
Mitglied method aktuell als Funktion bereitstellt. Sie ist eine Methode
des Rich-Client-Handles — der Handle
wird einmal über dashlet.getRichClientApi() bezogen; has() sondiert
die Bridge bei jedem Aufruf (live, ohne Cache).
2. Parameter
| Name | Typ | Beschreibung |
|---|---|---|
|
|
Der Name des Bridge-Mitglieds (z. B. |
3. Verhalten
has() ist synchron und liefert true genau dann, wenn das
Bridge-Mitglied existiert und eine Funktion ist — die exakte
probeFunction-Semantik. Alle anderen Zustände liefern false:
| Bridge-Zustand | Ergebnis | Anmerkung |
|---|---|---|
|
|
|
|
|
|
Der Lesezugriff auf |
|
Beide Host-Verhalten — werfende Lesezugriffe und stille
|
|
|
Kein Cache. Jeder Aufruf sondiert den aktuellen Bridge-Zustand —
window.osClient wird pro Aufruf gelesen, ohne Snapshot. Eine später
ausgetauschte oder reduzierte Bridge-Oberfläche wird sofort sichtbar: ein
später injiziertes Mitglied liefert daraufhin true, ein entferntes
false.
Nie ein Fehler für den Bridge-Zustand. Ein fehlendes, nicht
funktionales oder ausnahmswerfendes Mitglied liefert false — nicht
einen Fehler.
Reduzierte Bridge. Die reduzierte COM-OpenBrowser-Bridge trägt nur
osjxGetBrowserEnvironment + osjxSetBrowserCaption (ohne das
Dashlet-Marker-Mitglied osjxGetSelectedObjects); dort gilt daher:
rich.has('osjxGetSelectedObjects') → false und
rich.has('osjxGetBrowserEnvironment') → true.
Muster. has('osjxGetEnvironment') unterscheidet ein fehlendes
Mitglied von einem unbekannten Slot bei
getEnvironment(code): ein
unbekannter Slot (das Mitglied existiert, der Code ist unbekannt) liefert
null, während has() true bleibt; ein fehlendes Mitglied lässt
has() false liefern.
5. Fehler
has() wirft für keinen Bridge-Zustand eine Ausnahme — ein nicht
lesbares oder ausnahmswerfendes Mitglied liefert false statt eines
Fehlers. Die einzigen harten Fehler sind:
-
Error('dashlet destroyed')— das Dashlet wurde zerstört (Guard jeder Handle-Methode, auch vonhas()). -
TypeError: Dashlet.getRichClientApi(): the environment is not resolved yet - await the dashlet.init promise first— der Accessor wurde aufgerufen, bevor die Umgebung aufgelöst war. -
TypeError: Dashlet.getRichClientApi(): the rich client API handle is only available in the richClient environment (current: …)— der Accessor wurde in der falschen Umgebung aufgerufen (der aktuelle Wert wird genannt).