jAndy jAndy - 6 months ago 26
Javascript Question

Focus tab or window

for a little app, I'm opening a few windows/tabs from my script. Whether the browser opens a window or a tab is of course not in my hand.

However, I hold the references to the newly created

window
objects and I do change their content "remotely" from another window. This all happens under the same
document.domain
so no xss problem.

The problem is, I cannot reliably
focus
those created windows/tabs. Since I'm writing a very specific app for a customer, I'm only targeting Firefox as browser. One option I have is of course just to do a
remoteWindow.alert('foobar');
to get bring that window/tab up front, but that is pretty ugly isn't it.

I found this answer How to focus window/tab like alert()?

and it's said there, that Firefox has an option to allow script focus. So finally my question is, what is that option ?
I searched the
about:config
for "tabs" and "focus" but didn't find anything related.

How to configure ?

Answer

The only solution I see, is to force the popup in a new window, since there doesn't seem to be a way to focus another tab. This solution also requires you to change the default Javascript security settings in Tools > Options > Content tab and click on the Advanced button next to Enable Javascript checkbox and check the middle box to allow focusing windows.

To force the use of a window rather than a tab, use win = window.open("http://www.google.com", "test" ,"modal=yes"); and then call win.focus(); whenever you feel like it.

EDIT: Actually forgot to mention the fact that this is FF only.

Comments