Probe-Hilfen

window.osClient ist ein Host-Proxy, und das Lesen eines unbekannten Mitglieds verhält sich je nach Clientversion unterschiedlich: Einige Versionen werfen (0x80020006, z. B. v11.10.718 / v12.0.702), andere geben stillschweigend undefined zurück (z. B. v10.10.716). Beide Ergebnisse müssen als "nicht vorhanden" behandelt werden — deshalb kombinieren die Prüfungen einen try/catch und eine typeof-Prüfung (ein nacktes typeof wirft bei den neueren Clients; ein nackter try/catch allein verfehlt die Typprüfung bei den älteren).

Die Bridge selbst kann aufrufbar sein: Der WebView2-Rich-Client (gemessen auf 12.0.713) injiziert einen Host-Objekt-Proxy um eine Funktion, daher ist typeof window.osClient gleich 'function'. Die Prüfungen akzeptieren eine Objekt-Bridge und eine aufrufbare Bridge gleichermaßen; jeder andere Wert (null, undefined, primitive Werte) gilt als "keine Bridge".

1. Funktionen

Funktion Verhalten

probeFunction(bridge, name)

true, wenn bridge[name] eine Funktion ist; false für fehlende, undefined- oder auswerfende Lesevorgänge (und für eine Bridge, die weder ein Objekt noch aufrufbar ist).

probeRead(bridge, name)

Liest bridge[name] aus und gibt undefined für fehlende oder auswerfende Lesevorgänge zurück.

isFullDashletBridge(bridge)

true, wenn die Bridge eine vollständige Dashlet-Bridge ist — das Marker-Mitglied ist osjxGetSelectedObjects. Die reduzierte COM-OpenBrowser-Bridge (die nur osjxGetBrowserEnvironment
osjxSetBrowserCaption trägt) meldet false.

Die Bibliothek verwendet isFullDashletBridge, um zu steuern, welche Bridge-Fähigkeiten sie offenlegt; eine reduzierte Bridge initialisiert sich ebenfalls, aber die Auswahlfähigkeiten und Methodenfähigkeiten, die die vollständige Bridge benötigen, sind nicht verfügbar. Nur probeFunction und isFullDashletBridge werden aus dem Paketstamm wieder exportiert; probeRead ist eine interne Hilfsfunktion.