Provides access to the OpenFin representation of the current code context (usually a document
such as a View or Window), as well as to the current Interop
context.
Useful for debugging in the devtools console, where this will intelligently type itself based on the context in which the devtools panel was opened.
Adds a listener to the end of the listeners array for the specified event.
Optional
options: SubscriptionOptionsReturns a frame info object representing the window that the referenced iframe is currently embedded in.
If the frame is embedded in a view, this will return an invalid stub with empty fields.
async function getParentWindow() {
const frm = await fin.Frame.getCurrent();
return await frm.getParentWindow();
}
getParentWindow().then(winInfo => console.log(winInfo)).catch(err => console.log(err));
Adds a listener to the end of the listeners array for the specified event.
Optional
options: SubscriptionOptionsEvent payloads are documented in the Events namespace.
Adds a one time listener for the event. The listener is invoked only the first time the event is fired, after which it is removed.
Optional
options: SubscriptionOptionsEvent payloads are documented in the Events namespace.
Adds a listener to the beginning of the listeners array for the specified event.
Optional
options: SubscriptionOptionsEvent payloads are documented in the Events namespace.
Adds a one time listener for the event. The listener is invoked only the first time the event is fired, after which it is removed. The listener is added to the beginning of the listeners array.
Optional
options: SubscriptionOptionsEvent payloads are documented in the Events namespace.
Remove a listener from the listener array for the specified event.
Optional
options: SubscriptionOptionsCaution: Calling this method changes the array indices in the listener array behind the listener.
An iframe represents an embedded HTML page within a parent HTML page. Because this embedded page has its own DOM and global JS context (which may or may not be linked to that of the parent depending on if it is considered out of the root domain or not), it represents a unique endpoint as an OpenFin connection. Iframes may be generated dynamically, or be present on initial page load and each non-CORS iframe has the OpenFin API injected by default. It is possible to opt into cross-origin iframes having the API by setting api.iframe.crossOriginInjection to true in a window's options. To block all iframes from getting the API injected you can set api.frame.sameOriginInjection to false (see Window Options).
To be able to directly address this context for eventing and messaging purposes, it needs a unique uuid name pairing. For OpenFin applications and windows this is provided via a configuration object in the form of a manifest URL or options object, but there is no configuration object for iframes. Just as a call to window.open outside of our Window API returns a new window with a random GUID assigned for the name, each iframe that has the API injected will be assigned a GUID as its name, the UUID will be the same as the parent window's.
The fin.Frame namespace represents a way to interact with
iframes
and facilitates the discovery of current context (iframe or main window) as well as the ability to listen for frame-specific events.