Open URL in same window and in same tab

I want to open a link in the same window and in the same tab that contains the page with the link.

When I try to open a link by using window.open, then it opens in new tab—not in the same tab in the same window.

1

15 Answers

You need to use the name attribute:

window.open("","_self")

Edit: Url should be prepended with protocol. Without it tries to open relative url. Tested in Chrome 59, Firefox 54 and IE 11.

9

Use this:

location.href = "";
2

In order to ensure that the link is opened in the same tab, you should use window.location.replace()

See the example below:

window.location.replace("");

Source:

2

You can have it go to the same page without specifying the url:

window.open('?','_self');
1

If you have your pages inside "frame" then "Window.open('logout.aspx','_self')"

will be redirected inside same frame. So by using

"Window.open('logout.aspx','_top')"

we can load the page as new request.

0

One of the most prominent javascript features is to fire onclick handlers on the fly. I found following mechanism more reliable than using location.href='' or location.reload() or window.open:

// this function can fire onclick handler for any DOM-Element
function fireClickEvent(element) { var evt = new window.MouseEvent('click', { view: window, bubbles: true, cancelable: true }); element.dispatchEvent(evt);
}
// this function will setup a virtual anchor element
// and fire click handler to open new URL in the same room
// it works better than location.href=something or location.reload()
function openNewURLInTheSameWindow(targetURL) { var a = document.createElement('a'); a.href = targetURL; fireClickEvent(a);
}

Above code is also helpful to open new tab/window and bypassing all pop-up blockers!!! E.g.

function openNewTabOrNewWindow(targetURL) { var a = document.createElement('a'); a.href = targetURL; a.target = '_blank'; // now it will open new tab/window and bypass any popup blocker! fireClickEvent(a);
}

Open another url like a click in link

window.location.href = "";

Do you have to use window.open? What about using window.location=""?

window.open(url, wndname, params), it has three arguments. if you don't want it open in the same window, just set a different wndname. such as :

window.open(url1, "name1", params); // this open one window or tab
window.open(url1, "name2", params); // though url is same, but it'll open in another window(tab).

Here is the details about window.open(), you can trust it!

have a try ~~

1

open url in the current tab page using _self

const autoOpenAlink = (url = ``) => { window.open(url, "open testing page in a same tab page");
}
<a href="" target="_self" onclick="autoOpenAlink(')"> open url in the current tab page using `_self`
</a>

open url in a new tab page using _blank

const autoOpenAlink = (url = ``) => { window.open(url, "open testing page in a new tab page");
}
// ❌ The error is caused by a `StackOverflow` limitation
// js:18 Blocked opening ' in a new window because the request was made in a sandboxed frame whose 'allow-popups' permission is not set.
<a href="" target="_blank" onclick="autoOpenAlink(')"> open url in a new tab page using `_blank`
</a>

refs

According to MDN's docs, you just need to give one name of the new window/tab.

4

With html 5 you can use history API.

history.pushState({ prevUrl: window.location.href
}, 'Next page', ');
history.go();

Then on the next page you can access state object like so

let url = history.state.prevUrl;
if (url) { console.log('user come from: '+ url)
}

Exactly like thiswindow.open("","_self")

Thats pretty easy. Open first window as window.open(url, <tabNmae>)

Example: window.open("abc.com",'myTab')

and for next all window.open, use same tab name instead of _self, _parent etc.

0
 Just Try in button. <button onclick="location.reload();location.href='url_name'" >Explore More</button> Using href <a href="#" onclick="location.reload();location.href='url_name'">Know More</a> 
1

You can do

window.close();
window.open("index.html");

and it worked successfully on my website.

You Might Also Like