Open ui without BrowserWindowOpener

Hi,

I have an app with 3 different uis: MainUI, WindowUI and ExtraWindowUI. From the MainUI the user can open the WindowUI via a Mouse click on a button. This WindowUI gets opened via the BrowserWindowOpener. Inside the WindowUI, the user can open the ExtraWindowUI with a button click (also via BrowserWindowOpener).
So far, so good. My requirements are, that this ExtraWindowUI should also open automatically when a special option is set in the user profile and the WindowUI is opened.
Unfortunately, I can’t use the BrowserWindowOpener here, because I don’t have any component that gets clicked. I helped myself by using JavaScript.eval() that opens a window in JavaScript. This window opens when the WindowUI gets opened, but the window is empty. I need to press F5 in this window to display the content. So far I haven’t found a way to “press F5” via JavaScript. I tried window.location.reload(true) but this resulted in an empty window with the url about:blank.

In my opinion, the problem is that ExtraWindowUI.init() isn’t called when the window is opened via JavaScript window.open(). ExtraWindowUI.init() is called when I press F5 inside that window.

So, how can I open an ui without using BrowserWindowOpener or how can I use JavaScript to call ExtraWindowUI.init()? Any help is much appreciated.

No one has an idea?

Hi, you can use the Page.open method to automatically open browser windows. It takes an URL so you also have to add a custom UIProvider to your session that can serve different UIs based on the URL. BrowserWindowOpener does this automatically.

Note, however, that browsers don’t necessarily like pages opening new windows without user interaction - they may block them completely or at least ask the user if they want to allow it.

Hi Johannes,

thanks for your answer. I tried what you suggested, but I have still two problems left:

1.: using Page.open(): a new browser tab is opened with the desired url but the content of this window is empty until I press F5
2.: I’m having problems to supply all the other parameters like top, left, resizable=yes etc. to this window

When I use JavaScript.eval() to open the window, I can supply all the parameters I need, but I have the same problem that the window is empty right after opening it. F5 solves this also here.

If I could solve the empty window problem I would be happy. But maybe you can answer this question: why is ExtraWindowUI.init() NOT being called in my scenario?

Hi Johannes,

do you have another idea?

Best regards

Andreas

Hi Andreas, I’ll see if I can reproduce this behavior tomorrow.

Hi Johannes,

any news on this topic?

I am also interested on this

I am interested too.