2009-12-23 18 views
3

Je n'ai pas l'intention de simplement modifier le lien (j'entends que c'est impossible, mais si ce n'est pas, j'aimerais savoir comment). Je vais bien l'ajouter à l'historique du navigateur si cela doit être fait.Jquery: marquer les liens comme visités sans les ouvrir?

Je voudrais faire défiler tous les <a> sur une page et changer leur état à visité. Par exemple:

$("a").each(function(){ 
    //mark as visited (somehow?) 
}); 

Création d'un bouton "Tout marquer comme lu" sur ma page. Des idées?

+0

Voulez-vous que vos liens s'affichent dans le menu déroulant suggérer automatique du navigateur de l'utilisateur sans les visiter? Voulez-vous juste le visuel? Dites-nous quel devrait être le résultat, il y a déjà beaucoup de bonnes réponses mais vous savez, nous ne savons pas qui répond vraiment à la question! –

+0

Je crée une extension chrome qui est un lecteur rss. Je compte lire les articles vs un article lu en comptant les liens sur une page. Donc, pour marquer tout comme lu, je devrais les ajouter à l'histoire d'une manière ou d'une autre. Eh bien ... il se peut que je doive stocker les données dans localStorage d'une manière ou d'une autre. –

Répondre

2

... Vous pourriez

1) Essayez d'utiliser AJAX (ie. .get $ (a.href)), mais je ne sais pas si cela fonctionne réellement.

2) Essayez styling les liens à regarder à visiter (en changeant leur CSS « ​​couleur » attribut), bien que cette approche ne fera pas réellement pour les liens visités

3) Si aucune de ces travaux, vous pourrait essayer de faire quelque chose comme:

3A) Créer un IFRAME caché sur la page

3B) Ajouter un attribut cible à chaque une étiquette sur la page pour les faire pointer à l'IFRAME caché

3C) Invoquer $ ("a"). Click() à l'intérieur de ce ea ch loop (éventuellement avec un certain délai entre chacun pour donner l'heure de chargement de la page)

Si aucun de ces travaux ne fonctionne, je pense que vous n'avez pas de chance.

+0

Je pensais à $ .get ou $ .load qui, je pense, a ajouté à l'histoire - mais cela a été corrigé depuis ... je pense. Malheureusement, je cherche à changer l'état, pas seulement le style. J'ai regardé autour et n'ai pas trouvé un moyen d'ajouter à l'histoire du navigateur ... bien que beaucoup de gens veulent que cela se produise. On dirait que l'iFrame caché est le chemin à parcourir. Merci –

0

Ce n'est pas vraiment possible comme vous le souhaitez mais vous pouvez copier les attributs CSS d'un: visité dans une nouvelle classe appelée "visited" ou autre chose, puis les appliquer aux liens que vous voulez.

$('a').addClass('visited'); 
3

Créer un lien qui est visité (par exemple mis son href à window.location), et définir chacun des styles de vos liens cibles style calculé de ce lien nouvellement créé.

+1

Assez intelligent si le visuel est juste nécessaire .. –

+0

+1 Puisque c'est la réponse que je cherchais quand Google m'a posé sur la question –