Je travaille sur un petit script jQuery pour ajouter les données de Google Analytics pageTracker onclick à toutes les URL relatives sur mon forum, ce qui me permet de suivre les clics vers des sites externes. Je ne veux pas ajouter le onclick aux liens internes sur forum.sitename ou sitename, et je ne veux pas les ajouter à tout hrefs marqué # ou commençant par /. Mon script ci-dessous fonctionne bien, mais pour un problème mineur!Comment utiliser un sélecteur jQuery non pour sélectionner des URL relatives?
Toutes les URL du forum sont relatives et ne commencent pas par /. Je semble n'avoir aucun moyen de changer cela, donc j'ai besoin de modifier le jQuery ci-dessous pour l'empêcher d'ajouter le onclick aux liens comme il le fait actuellement. Ce que je veux faire, est d'écrire une fonction .not() comme .not ("[href!^= Http") pour empêcher jQuery d'ajouter l'onclick à tout hrefs qui ne commence pas par http. Cependant, .not() ne semble pas supporter cela. Je suis nouveau à jQuery et ne peux pas comprendre cela. Tous les pointeurs seraient massivement appréciés.
$(document).ready(function(){
// Get URL from a href
var URL = $("a").attr('href');
// Add pageTracker data for GA tracking
$("a")
.not("[href^=#]")
.not("[href^=http://forum.sitename]")
.not("[href^=http://www.sitename]")
.attr("onclick","pageTracker._trackEvent('Outgoing_Links', 'Forum', " + URL + ");")
;
});
Merci!
Merci, Nick. Cela ne marche pas tout à fait pour moi. Peut-être que c'est parce que je suis tout le double négatif! Ajoutez .not ("[href^= http]") à mes résultats de script l'onclick étant * ajouté * à l'URL relative mais pas aux absolus. Des idées, s'il vous plaît? – Matt
@Matt - Mise à jour de la réponse pour cela, j'ai dû re-relire la question :) Cela devrait vous donner envie que vous voulez, mis à jour l'exemple montrant cela aussi bien. –
Exceptionnel. Merci, Nick! Tu as fait ma journée. – Matt