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._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).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');
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);
}
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 ~~
_selfconst 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>
_blankconst 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)
}
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>
_selfand_topwhich "look-alike".