Comment ouvrir une URL dans un nouvel onglet au lieu d'une nouvelle fenêtre par programme?
Utilisez window.open()
:
var win = window.open('http://stackoverflow.com/', '_blank');
if (win) {
//Browser has allowed it to be opened
win.focus();
} else {
//Browser has blocked it
alert('Please allow popups for this website');
}
Selon l’implémentation des navigateurs, cela fonctionnera
Vous ne pouvez rien faire pour le faire ouvrir dans une fenêtre plutôt que dans un onglet.
C'est aussi simple que cela.
window.open('_link is here_', 'name');
Description de la fonction:
name
est un nom de la fenêtre. Les noms suivants sont supportés:
_blank
- L'URL est chargée dans un nouvel onglet. C'est la valeur par défaut. _parent
- L'URL est chargée dans le cadre parent_self
- L'URL remplace la page actuelle_top
- L'URL remplace tout jeu de cadres pouvant être chargé.si vous voulez ouvrir tous les liens sur un nouvel onglet, essayez d'utiliser ce jquery
$(document).on('click', 'a', function(e){
e.preventDefault();
var url = $(this).attr('href');
window.open(url, '_blank');
});
var url = "http://www.example.com";
window.open(url, '_blank');
Vous pouvez facilement créer un nouvel onglet. faire comme ce qui suit:
function newTab() {
var form = document.createElement("form");
form.method = "GET";
form.action = "http://www.example.com";
form.target = "_blank";
document.body.appendChild(form);
form.submit();
}
Je sais que votre question ne précise pas si vous essayez d'ouvrir toutes les balises dans une nouvelle fenêtre ou uniquement les liens externes.
Mais si vous souhaitez uniquement que des liens externes s'ouvrent dans un nouvel onglet, vous pouvez le faire:
$( 'a[href^="http://"]' ).attr( 'target','_blank' )
$( 'a[href^="https://"]' ).attr( 'target','_blank' )