JQuery: mark Links als ohne sie zu öffnen besucht?
-
21-09-2019 - |
Frage
Ich habe nicht die Absicht, nur den Link zu verändern (ich höre, das ist unmöglich, aber wenn es nicht ich würde gerne wissen, wie). Mir geht es gut mit ihm zu dem der Browser Geschichte hinzufügen, wenn das muss getan werden.
würde ich durch alle <a>
ist wie auf einer Seite Schleife und ihren Zustand ändern to besucht. Zum Beispiel:
$("a").each(function(){
//mark as visited (somehow?)
});
Im Wesentlichen einen „Alle als gelesen markiert“ auf meiner Seite zu schaffen. Irgendwelche Ideen?
Lösung
Sie könnte ...
1) Versuchen Sie mit AJAX (dh. $ .Get (a.href)), aber ich weiß nicht, ob das tatsächlich funktionieren würde.
2) Versuchen Sie die Links Styling besucht aussehen (durch ihre CSS „Farbe“ Attribut zu ändern), obwohl dieser Ansatz wird sie nicht wirklich machen, um besuchte Links
3) Wenn keine solche Arbeit, könnten Sie versuchen, etwas zu tun, wie:
3A) Erstellen Sie eine versteckte IFRAME auf der Seite
3B) Fügen Sie ein Zielattribut zu jedem A-Tag auf der Seite, sie verweisen auf die versteckten IFRAME zu machen
3C) Invoke $ ( „a“). () Klicken im Innern, dass jede Schleife (möglicherweise mit einer Verzögerung von einer Art zwischen jeder Seite Zeit zu Last geben)
Wenn keiner der Arbeit, ich glaube, Sie Glück unterwegs sind.
Andere Tipps
Erstellen Sie eine Verknüpfung, die besucht wird (das heißt seine href
auf window.location
gesetzt), und legen Sie jedes Ihrer Zielverbindungen Stile, die neu berechneten Stil erstellt Link.
Es ist nicht wirklich möglich, in der Art und Weise möchten Sie jedoch Sie die CSS kopieren könnte Attribute eines:. Besuchte eine neue Klasse namens „besucht“ oder was auch immer dann wenden sie auf die Links, die Sie wollen
$('a').addClass('visited');