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.
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.
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.
target=
of tag a
. In fact, you can name your window whatever you like. All what you need is set it different value, so that it won't open in the same window or tab. –
Jahn _self
is mentioned in section 5.1.6 Browsing context names of the HTML5 W3C Recommendation 28 October 2014 at: w3.org/TR/html/browsers.html#browsing-context-names (but window.location
is still cleaner). –
Deadhead window.location.href="....."
–
Cardsharp "_self"
was perfect and allowed me to "visit" download links without leaving the page, hence not losing the base information context. –
Coastguardsman Use this:
location.href = "http://example.com";
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");
You can have it go to the same page without specifying the url:
window.open('?','_self');
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.
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 = "http://example.com";
Do you have to use window.open
? What about using window.location="http://example.com"
?
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 ~~
_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>
_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 '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.
<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>
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
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)
}
Exactly like this
window.open("www.youraddress.com","_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.
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>
You can do
window.close();
window.open("index.html");
and it worked successfully on my website.
if you are using APP SCRIPT then this is the solution:
<a id='someID' href='<?= ScriptApp.getService().getUrl(); ?>?requiredTab' hidden></a>
$("#someID")[0].click();
© 2022 - 2025 — McMap. All rights reserved.
_self
and_top
which "look-alike". – Clementius