Skip to content
Advertisement

Open link in new window or focus to it if already open

I have a link which should open in a new tab, but if the tab is already open, just switch to it. I’ve tried with javascript, wnd = window.open() and than wnd.focus(), that works in Chrome 19, but not in FF 13 or IE 9. Here’s the code I’ve written :

<script type="text/javascript">
var loadingTableWnd;
function openOrSwitchToWindow(url){
if(loadingTableWnd == undefined)
loadingTableWnd = window.open(url,'myFrame');
else
loadingTableWnd.focus();
}
</script> 
<a href='javascript:openOrSwitchToWindow("/");' >Loading Table</a>

Any idea how can I open or switch to from every browser?

EDIT: I need to open the link in a new tab, not a stand-alone window.

Advertisement

Answer

Different browsers behave differently for window.open() and focus(). For this code window.open('www.sample.com','mywindow').focus()

  • Chrome 20 opens a new tab, and focuses on subsequent open() calls regardless if focus() is called or not.
  • Firefox 13 opens a new tab, focuses on first open(), does not focus on subsequent open() calls/disregards focus().
  • IE 8 opens a new window, honors focus().
  • Safari 5 opens a new window, and focuses on subsequent open() calls regardless if focus() is called or not.

Fiddle to test with: http://jsfiddle.net/jaraics/pEG3j/

User contributions licensed under: CC BY-SA
10 People found this is helpful
Advertisement