Seite erstellen: mit "sich selbst" sortierenden Links

VB77

Grünschnabel
Hallo,

ich möchte für meine (täglich besuchten) Links eine Html Seite programmieren, auf der drei Links übereinander stehen.

Bei jedem Klick eines Links soll das (zu dem betreffenden Link zugehörige) Cookie um "eins" erhöht werden.

Beim Neu-Aufbau (F5) der Linkseite sollen die Links neu übereinander angeordnet werden.

Die Link-Reihenfolge sollte folgende sein...

...der häufigst geklickte Link steht ganz oben (indexplatz:0)
...der zweithäufigst geklickte Link steht in der Mitte (indexplatz:1)
...der dritthäufigst geklickte Link steht ganz unten (indexplatz:2)

Wie kann man dies realisieren? -Programmiert jemand vielleicht ein Beispiel ?

PS: habe bereits gegoogelt. Das Problem ist: kann man für eine einzelne HTML-Seite überhaupt ein Dreifach-Cookie anlegen, oder nimmt man ein einziges Cookie, welches man mit Stringverarbeitung in drei Teile teilt.
 
Du kannst soviele Cookies erstellen wie Du willst, aus Perfomance-Sicht wäre ein Cookie jedoch völlig ausreichend. In diesem kannst Du die Reihenfolge der Links speichern. Und nach jedem Klick setzt Du diesen Cookie neu, mit der jeweils neuen Reihenfolge.
 
Es ist schon mal beruhigend, dass man beliebig viele Cookies pro Seite anlegen kann. -Die Umsetzung fällt mir noch etwas schwer, weil die Beschreibung des Problems bisher recht abstrakt ist. -Hat jemand ein Beispiel, bzw. einzelne Codeteile, um die "sich selbst sortierende" Linkseite zu realisieren?
 
Du musst doch nur einen String aus den Links inkl. aktuelle oder nächster Reihenfolge zusammensetzen. Beispiel:

Code:
var werte = "link1=url2|link2=url1|link3=url3";
var a = new Date();
a = new Date(a.getTime() +60*60*24);
document.cookie = 'meincookie=' + werte + '; expires='+a.toGMTString()+';';

Hier habe ich die einfach mit einer Pipe | getrennt, kannst natürlich auch andere Trennzeichen nehmen, nur kein &. Beim Auslesen des Cookies splittest Du nun diesen String an dem Trennzeichen und erhälst so die Reihenfolge der Links.
 
Muss es
Code:
var werte = "link1=url1|link2=url2|link3=url3";
oder
Code:
var werte = "link1=url2|link2=url1|link3=url3";
heissen?
 
Das soll die Reihenfolge der URLs repräsentieren und dir nur als Vorlage dienen. Somit ist der konkrete Aufbau völlig dir überlassen.
 
Habe angefangen, ein Beispiel zu schreiben. -Wie muss man den Code ändern, dass der Zählerstand der drei Links beim Laden der Seite auf den (im Cookie gespeicherten) letzten Stand modifiziert wird?
Code:
<html><head>
<script>
//var zaehler = 0;
alert(document.cookie);

   function Jauch(aaa)
   {
      zaehler=aaa.previousSibling.innerHTML;
      zaehler++;
      aaa.previousSibling.innerHTML=zaehler;
      document.cookie=aaa.id+"="+zaehler
      alert(document.cookie)
   }
</script></head>
<body>
<span>0</span><a href="#" id="reiheALFA" OnClick="Jauch(this)">ALFA</a><br>
<span>0</span><a href="#" id="reiheBRAVO" OnClick="Jauch(this)">BRAVO</a><br>
<span>0</span><a href="#" id="reiheCHARLY" OnClick="Jauch(this)">CHARLY</a><br>
</body>
</html>
 
Du müsstest mit onload eine JavaScript-Funktion aufruft die das Cookie ausliest und den HTML-Code der Seite neu aufbaut.

Code:
<body onload="pruefeCookie();">
 
Zurück