getBrowserEnvironment()
rich.getBrowserEnvironment() liest das Browser-Umfeld-Objekt des Rich
Clients synchron aus dem Bridge-Mitglied osjxGetBrowserEnvironment()
aus. Sie ist eine Methode des
Rich-Client-Handles — der Handle wird
einmal über dashlet.getRichClientApi() bezogen und seine Methoden lesen
die Bridge pro Aufruf (verzögert, ohne Snapshot).
3. Verhalten
Das Bridge-Mitglied osjxGetBrowserEnvironment() wird synchron, pro
Aufruf ohne Argumente aufgerufen — die Bridge wird verzögert zum
Aufrufzeitpunkt gelesen (ein später injizierter oder ausgetauschter
Bridge-Zustand wird sofort sichtbar; es wird kein Snapshot gehalten).
Der Rohwert wird unverändert als unknown zurückgegeben: die
Methode validiert und normalisiert nichts — der Aufrufer schränkt die
Form selbst auf die erwartete Shape ein (die Test-Simulation liefert
z. B. das Fenstergrößen-Objekt { windowWidth: 1920 }).
Die null-Semantik: ein fehlendes oder nicht-funktionales
Bridge-Mitglied liefert null, und ein ausnahmswerfender Aufruf
liefert ebenfalls null (der Lesevorgang ist throw-safe). Wichtig:
die reduzierte COM-OpenBrowser-Bridge (nur osjxGetBrowserEnvironment
+ osjxSetBrowserCaption, ohne das Dashlet-Marker-Mitglied
osjxGetSelectedObjects) trägt dieses Mitglied — dort kann null
also nur einen ausnahmswerfenden Aufruf bedeuten.
Im Gegensatz dazu hat die portable Facade kein Browser-Umfeld-Mitglied — das Browser-Umfeld-Objekt ist ausschließlich über den Rich-Client-Handle erreichbar.
5. Fehler
Bridge-Probleme zeigen sich nie als Throw von getBrowserEnvironment —
die Methode selbst ist throw-safe: der Lesevorgang liefert stattdessen
null (fehlendes oder nicht-funktionales Mitglied, ausnahmswerfender
Aufruf). Die aufgeführten harten Fehler stammen aus dem Handle-Accessor
dashlet.getRichClientApi():
-
Error('dashlet destroyed')— das Dashlet wurde zerstört (Accessor und Handle-Methoden). -
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).