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 dans la même fenêtre.
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 dans la même fenêtre.
Réponses:
Vous devez utiliser l'attribut name:
window.open("https://www.youraddress.com","_self")
Modifier : l'URL doit être précédée du protocole. Sans cela, il essaie d'ouvrir l'URL relative. Testé dans Chrome 59, Firefox 54 et IE 11.
_self
est mentionné dans la section 5.1.6 Noms de contexte de navigation de la recommandation HTML5 W3C du 28 octobre 2014 à: w3.org/TR/html/browsers.html#browsing-context-names (mais window.location
est toujours plus propre).
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 sur la même page sans spécifier l'url:
window.open('?','_self');
L'une des fonctionnalités javascript les plus importantes consiste à déclencher les gestionnaires onclick à la volée. J'ai trouvé le mécanisme suivant plus fiable que l'utilisation de 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 publicitaires !!! 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);
}
Ouvrez une autre URL comme un lien de clic
window.location.href = "http://example.com";
Devez-vous utiliser window.open
? Qu'en est-il de l'utilisation window.location="http://example.com"
?
window.open(url, wndname, params)
, il a trois arguments. si vous ne voulez pas l'ouvrir dans la même fenêtre, définissez simplement un nom de domaine 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 window.open()
, vous pouvez lui faire confiance!
https://developer.mozilla.org/en/DOM/window.open
essayez ~~
Avec html 5, vous pouvez utiliser l'API 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 à l'objet d'état comme ceci
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>
window
/ tab
.https://developer.mozilla.org/en-US/docs/Web/API/Window/open#Syntax
_self
<a
href="url"
target="_self">
open
</a>
const autoOpenAlink = (url = ``) => {
window.open(url, "open testing page in the same tab page");
}
_blank
démo vue
<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");
},
target=
de taga
. En fait, vous pouvez nommer votre fenêtre comme bon vous semble. Tout ce dont vous avez besoin est de lui attribuer une valeur différente, afin qu'il ne s'ouvre pas dans la même fenêtre ou le même onglet.