How to set focus to already opened tab in firefox?

2020-07-02 09:43发布

I have a link which opens a page in a new tab in firefox.

<a target="_default" href='/portal.html' >
    Go to Portal
</a>

However when I click this link again ,it refreshes the opened tab and doesn't set focus to it , so users have no way to know that tab is opened .

Is there any way by which I can grab the opened tab and set focus on subsequent clicks after opening it once Or any other workaround .

Thanks.

5条回答
Animai°情兽
2楼-- · 2020-07-02 10:16

I had a similar problem in my project. Luckily, whenever I needed to set focus on already opened tab, it also needed to be refreshed. So I did it with the following trick, which first opened again tab with same href and target, got reference of that window back, closed it, and opened again with same parameters.

popup = window.open('/popup.html', '_popup')
popup.close()
popup = window.open('/popup.html', '_popup')
查看更多
可以哭但决不认输i
3楼-- · 2020-07-02 10:25

No.

Each tab normally runs in a separate process sandbox. It's just not possible.

查看更多
家丑人穷心不美
4楼-- · 2020-07-02 10:28

At max you can try target="_blank".

查看更多
叛逆
5楼-- · 2020-07-02 10:40

For getting the focus using a tabhandler name may help.. suppose we have

win = window.open("https://www.google.com", "test");

win.focus();

now every time the first line of above code runs the browser will first find the tab with the name test and reload it with the url https://www.google.com and in case it does not find a tab with the name test it will open a new one. On the run of the second line it will set the focus to the same tab loaded from the first line.

查看更多
▲ chillily
6楼-- · 2020-07-02 10:40

You can probably use _blank and some JS code that closes a previously opened tab for the same URL using cookie tracking.

The page (that you are opening in the new tab) should be built in such a way that it writes out a cookie with some value (say current time in millis). It should also have some kind of a periodic poller that checks the value of this cookie and closes itself when the value is seen to be changed. the only way this value can change is when the same url is opened in another tab/popup.

Disclaimer: Not sure if browsers will allow window.close without it being user triggered though!

查看更多
登录 后发表回答