Open URL in same window and in same tab

JavascriptHtmlHyperlinkHref

Javascript Problem Overview


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.

Javascript Solutions


Solution 1 - Javascript

You need to use the name attribute:

window.open("https://www.youraddress.com","_self")

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

Solution 2 - Javascript

Use this:

location.href = "http://example.com";

Solution 3 - Javascript

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("http://www.w3schools.com");

Source: http://www.w3schools.com/jsref/met_loc_replace.asp

Solution 4 - Javascript

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

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

Solution 5 - Javascript

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.

Solution 6 - Javascript

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);
}

Solution 7 - Javascript

Open another url like a click in link

window.location.href = "http://example.com";

Solution 8 - Javascript

Do you have to use window.open? What about using window.location="http://example.com"?

Solution 9 - Javascript

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!
https://developer.mozilla.org/en/DOM/window.open

have a try ~~

Solution 10 - Javascript

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="https://cdn.xgqfrms.xyz/index.html"
 target="_self"
 onclick="autoOpenAlink('https://cdn.xgqfrms.xyz/index.html')">
   open url in the current tab page using `_self`
</a>

open url in a new tab page using _blank

<a
 href="https://cdn.xgqfrms.xyz/index.html"
 target="_blank"
 onclick="autoOpenAlink('https://cdn.xgqfrms.xyz/index.html')">
   open url in a new tab page using `_blank`
</a>

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 'https://cdn.xgqfrms.xyz/index.html'; in a new window because the request was made in a sandboxed frame whose 'allow-popups' permission is not set.

refs

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

https://developer.mozilla.org/en-US/docs/Web/API/Window/open#Syntax

Solution 11 - Javascript

With html 5 you can use history API.

history.pushState({
  prevUrl: window.location.href

}, 'Next page', 'http://localhost/x/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)
}

Solution 12 - Javascript

Exactly like this window.open("www.youraddress.com","_self")

Solution 13 - Javascript

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.

Solution 14 - Javascript

   Just Try in button.

   <button onclick="location.reload();location.href='url_name'" 
   id="myButton" class="btn request-callback" >Explore More</button>

   Using href 

  <a href="#" class="know_how" onclick="location.reload();location.href='url_name'">Know More</a> 

Solution 15 - Javascript

You can do

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

and it worked successfully on my website.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionuser1065055View Question on Stackoverflow
Solution 1 - JavascriptvdbuilderView Answer on Stackoverflow
Solution 2 - JavascriptDave L.View Answer on Stackoverflow
Solution 3 - JavascriptandromedaView Answer on Stackoverflow
Solution 4 - JavascriptTom BertholdView Answer on Stackoverflow
Solution 5 - JavascriptMageshView Answer on Stackoverflow
Solution 6 - JavascriptMuaz KhanView Answer on Stackoverflow
Solution 7 - JavascriptDarckBlezzerView Answer on Stackoverflow
Solution 8 - JavascriptJeffrey ZhaoView Answer on Stackoverflow
Solution 9 - JavascriptijseView Answer on Stackoverflow
Solution 10 - JavascriptxgqfrmsView Answer on Stackoverflow
Solution 11 - JavascriptAdi PrasetyoView Answer on Stackoverflow
Solution 12 - JavascriptthanglvView Answer on Stackoverflow
Solution 13 - JavascriptSamitView Answer on Stackoverflow
Solution 14 - JavascriptSiddharth ShuklaView Answer on Stackoverflow
Solution 15 - JavascriptI-am-developer-9View Answer on Stackoverflow