Sur mon site Web j'ai beaucoup de liens externes, aussi bien que des liens internes. je voudrais une sorte de solution en javascript ou w/e qui détecte les liens externes et les ouvre dans un nouvel onglet, mais laisse les liens internes à ouvrir dans le même onglet. merci! =)comment ouvrir les liens externes dans un nouvel onglet
Répondre
function getXterlinks()
{
var Xterlinks = document.getElementsByTagName('A');
for (var i=0;i<Xterlinks.length;i++)
{
var eachLink = Xterlinks[i];
var regexp_isYourdomain="your-domain.com";
var regexp_ishttp=/(http(.)*:\/\/)/;
if((eachLink.href != null) && (eachLink.href.match(regexp_isYourdomain) == null) && eachLink.href.match(regexp_ishttp)!=null)
{
eachLink.target ="_blank";
}
}
}
Notez qu'il appartient au navigateur de choisir si le lien doit être ouvert dans une nouvelle fenêtre ou dans un nouvel onglet. Vous ne pouvez pas forcer un comportement ou l'autre en utilisant html ou JavaScript. –
@Jan - true, mais l'utilisation de 'target =" _ blank "' est la méthode standard pour cela. Votre commentaire est en place, néanmoins. –
qui a fonctionné! Je vous remercie! : D – MKv4
Ouais, eh bien, JavaScript encore jQuery. Que diriez-vous:
$('a[href^="http://your-domain.com"]').attr("target", "_self");
$('a').not('a[href^="http://your-domain.com"]').attr("target", "_blank");
Pas sûr de la seconde, cependant, mais vous avez l'idée.
J'ai écrit cette solution pour mon site Web personnel. Tant que vous aimez jQuery (que vous devriez, imho), vous pouvez l'inclure dans un fichier js commun et l'oublier. Il fonctionnera avec du contenu dynamique et ne forcera pas les liens internes à s'ouvrir dans l'onglet en cours si vous définissez target = "_ blank".
$(function() {
$('body').on('click', 'a', function() {
var currentHost = document.location.protocol+'//'+document.location.hostname;
if (this.href.indexOf(currentHost) != 0 && (this.href.indexOf('http') == 0 || this.href.indexOf('ftp') == 0)) {
window.open(this.href, '_blank');
return false;
}
});
});
Note: Si vous utilisez jQuery < 7, utilisez .bind() au lieu de .on()
Voir en action sur http://www.seanknutson.com.
- 1. Ouvrir les liens dans un nouvel onglet dans Firefox
- 2. Ouvrir un nouvel onglet
- 3. Implémenter ouvrir un nouvel onglet
- 4. Besoin d'ouvrir les liens dans un nouvel onglet dans IE8!
- 5. Comment ouvrir un nouvel onglet du navigateur?
- 6. Ouvrir un nouvel onglet dans IE
- 7. GVim: Ouvrir dans un nouvel onglet
- 8. Comment piéger "ouvrir dans un nouvel onglet" clique dans jquery.click
- 9. Comment ouvrir asp: HyperLink.NavigationUrl dans un nouvel onglet
- 10. HTML dans un nouvel onglet
- 11. Comment ouvrir une page différente selon que l'utilisateur sélectionne ouvrir dans un nouvel onglet ou non
- 12. Afficher une page dans Firefox sans ouvrir un nouvel onglet
- 13. Comment faire pour ouvrir les fichiers ouverts FuzzyFinder dans un nouvel onglet graphique dans MacVim?
- 14. Comment puis-je ouvrir un nouvel onglet de navigateur dans Eclipse PDT?
- 15. Ouvrir l'URL dans le nouvel onglet Safari avec AppleScript
- 16. Comment ouvrir un fichier PDF dans Google Chrome dans un nouvel onglet?
- 17. Ouvrir un élément ASP.NET GridView dans une nouvelle page ou un nouvel onglet - comment?
- 18. Comment ouvrir le lien vers le fichier pdf dans un nouvel onglet en utilisant html
- 19. ouverture d'une URL dans un nouvel onglet
- 20. ouvrir le lien dans un nouvel onglet pour le ImageButton dans asp.net
- 21. Javascript pour ouvrir l'URL dans un nouvel onglet (au lieu d'une fenêtre)
- 22. Ouvrir un onglet chrome de la fenêtre javascript retardée. Ouvrir
- 23. Comment forcer l'ouverture d'une fenêtre contextuelle dans une nouvelle fenêtre (Toujours ouvrir les fenêtres contextuelles dans un nouvel onglet)?
- 24. pour ouvrir une page dans un nouvel onglet en utilisant self.location?
- 25. Comment ouvrir un lien html dans une nouvelle fenêtre au lieu d'un nouvel onglet sur Firefox et Chrome?
- 26. Comment puis-je ouvrir un nouvel onglet de navigateur à partir de JavaScript?
- 27. Sélectionnez un onglet dans un TabNavigator dans un nouvel état
- 28. Empêche les liens vierges (ayant javascript :;) de s'ouvrir dans un nouvel onglet/fenêtre au milieu du clic ...?
- 29. Ouvrir l'affichage dans un autre onglet - iphone
- 30. comment ouvrir une fonction dans une nouvelle fenêtre? Ou nouvel onglet?
Y at-il quelque chose de modèle commun dans votre site liens – Hulk
ouais ils contiennent tous "blogspot.com" si interne, tout le reste est externe. – MKv4