J'utilise ce morceau de code jQuery pour obtenir le href du lien:
var url = $(this).attr('href');
- et ce bout de code pour aller à cet href:
window.location = url;
Tout est exactement comme je le veux, sauf que la nouvelle page s'ouvre dans la même fenêtre que la précédente et que je souhaite que celle-ci s'ouvre dans une nouvelle fenêtre ou un nouvel onglet (un résultat qui aurait été obtenu simplement en utilisant HTML = " _blank "formule).
Question: Comment puis-je ouvrir le href dans la nouvelle fenêtre ou un nouvel onglet avec jQuery?
Merci de votre aide!
Vous devez ouvrir une nouvelle fenêtre:
window.open(url);
Utilisation,
var url = $(this).attr('href');
window.open(url, '_blank');
Mise à jour : il est préférable de récupérer href
avec prop, car il renverra l'URL complète et sera légèrement plus rapide.
var url = $(this).prop('href');
Question: Comment puis-je ouvrir le href dans la nouvelle fenêtre ou un nouvel onglet avec jQuery?
var url = $(this).attr('href').attr('target','_blank');
Détecte si un attribut cible a été utilisé et contient "_blank". Pour les appareils mobiles qui n'aiment pas "_blank", il s'agit d'une alternative fiable.
$('.someSelector').bind('touchend click', function() {
var url = $('a', this).prop('href');
var target = $('a', this).prop('target');
if(url) {
// # open in new window if "_blank" used
if(target == '_blank') {
window.open(url, target);
} else {
window.location = url;
}
}
});
La fonction .ready
est utilisée pour insérer l'attribut une fois le chargement de la page terminé.
$(document).ready(function() {
$("class name or id a.your class name").attr({"target" : "_blank"})
})
Si vous souhaitez créer la fenêtre contextuelle via jQuery, vous devez utiliser un plugin. Celui-ci semble faire ce que vous voulez:
http://rip747.github.com/popupwindow/
Alternativement, vous pouvez toujours utiliser la fonction window.open de JavaScript.
Notez qu'avec l'une ou l'autre approche, la nouvelle fenêtre doit être ouverte en réponse à la saisie/action de l'utilisateur (par exemple, un clic sur un lien ou un bouton). Sinon, le bloqueur de popup du navigateur ne bloquera que le popup.
Essayez d'utiliser le code suivant.
$(document).ready(function(){
$("a[@href^='http']").attr('target','_blank');
});