Je veux ouvrir un lien dans la même fenêtre et dans le même onglet qui contient la page avec le lien.
Lorsque j'essaie d'ouvrir un lien à l'aide de window.open
, il s'ouvre dans un nouvel onglet, pas dans le même onglet de la même fenêtre.
Vous devez utiliser l'attribut name:
window.open("https://www.youraddress.com","_self")
Edit: L'URL devrait être précédé du protocole. Sans il tente d'ouvrir l'URL relative. Testé dans Chrome 59, Firefox 54 et IE 11.
Utilisez ceci:
location.href = "http://example.com";
Afin de vous assurer que le lien est ouvert dans le même onglet, vous devez utiliser window.location.replace()
Voir l'exemple ci-dessous:
window.location.replace("http://www.w3schools.com");
Vous pouvez le faire aller à la même page sans spécifier l'URL:
window.open('?','_self');
Si vous avez vos pages dans "frame", cliquez sur "Window.open ('logout.aspx', '_ self')"
sera redirigé dans le même cadre. Donc en utilisant
"Window.open('logout.aspx','_top')"
nous pouvons charger la page en tant que nouvelle demande.
L'une des fonctionnalités javascript les plus importantes est de déclencher des gestionnaires onclick à la volée. J'ai trouvé le mécanisme suivant plus fiable que d'utiliser location.href=''
ou location.reload()
ou 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);
}
Le code ci-dessus est également utile pour ouvrir un nouvel onglet/fenêtre et contourner tous les bloqueurs de fenêtres contextuelles !!! Par exemple.
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);
}
Ouvrir une autre URL comme un clic dans le lien
window.location.href = "http://example.com";
Devez-vous utiliser window.open
? Qu'en est-il de l'utilisation de window.location="http://example.com"
?
window.open(url, wndname, params)
, il a trois arguments. si vous ne voulez pas qu'il soit ouvert dans la même fenêtre, il suffit de définir un nom différent. tel que :
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).
Voici les détails sur window.open()
, vous pouvez y faire confiance!
https://developer.mozilla.org/en/DOM/window.open
essayer ~~
Avec HTML 5, vous pouvez utiliser API d'historique .
history.pushState({
prevUrl: window.location.href
}, 'Next page', 'http://localhost/x/next_page');
history.go();
Ensuite, sur la page suivante, vous pouvez accéder à un objet d'état comme
let url = history.state.prevUrl;
if (url) {
console.log('user come from: '+ url)
}
Exactement comme ceci window.open("www.youraddress.com","_self")
C'est assez facile. Ouvre la première fenêtre en tant que window.open(url, <tabNmae>)
Exemple: window.open("abc.com",'myTab')
et pour tout prochain window.open, utilisez même nom d’onglet au lieu de _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>