javascript – Open URL in same window and in same tab

The Question :

395 people think this question is useful

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.

The Question Comments :

The Answer 1

651 people think this answer is useful

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.

The Answer 2

176 people think this answer is useful

Use this:

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

The Answer 3

76 people think this answer is useful

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

The Answer 4

31 people think this answer is useful

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

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

The Answer 5

20 people think this answer is useful

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.

The Answer 6

11 people think this answer is useful

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

The Answer 7

11 people think this answer is useful

Open another url like a click in link

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

The Answer 8

9 people think this answer is useful

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

The Answer 9

5 people think this answer is useful

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 ~~

The Answer 10

2 people think this answer is useful

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

The Answer 11

2 people think this answer is useful

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

The Answer 12

1 people think this answer is useful

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.

The Answer 13

0 people think this answer is useful
   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> 

The Answer 14

-2 people think this answer is useful

As MDN’s refs says, just need give a name of the new window/tab.

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

open in the current tab page using _self

<a
 href="url"
 target="_self">
   open
</a>

const autoOpenAlink = (url = ``) => {
  window.open(url, "open testing page in the same tab page");
}


open in a new tab page using _blank

vue demo

    <div style="margin: 5px;">
        <a
            :href="url"
            @click="autoOpenAlink"
            target="_blank"
            >
            {{url}}
        </a>
    </div>

vue

    autoOpenAlink(e) {
        e.preventDefault();
        let url = this.url;
        window.open(url, "iframe testing page");
    },

Add a Comment