|
Wäre es nicht schön beunruhigend, wenn man feststellen kann, ob unser Webseiten Besucher schonmal eine bestimmte Seite besucht hat? Dank ein bisschen Javascript und CSS ist dies sehr einfach möglich, wie wir gleich sehen werden. Wenn man ein wenig mehr Arbeit investiert, kann man das ganze auch ohne Javascript lösen. Dazu benutzt man einfach individuelle Styles für jeden Link und benutzt unterschiedliche Bilder als Hintergrund für die besuchten Links. Darüber sollte es dann möglich sein die gewünschten Informationen zu beziehen, ganz zur Not macht man dies über das Access-Log des Webservers.
Ohne große Reden hier ein Beispiel und hier der Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de-de" lang="de-de" dir="ltr"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>CSS/JavaScript History Grabber</title> <style type="text/css"> a:visited { color: #FF0000; } </style> </head> <body>
<div align="center"> <object><noscript>Please turn JavaScript on.</noscript></object> </div>
<ul id="visited"><li><b>Visited</b></li></ul> <ul id="notvisited"><li><b>Not Visited</b></li></ul>
<script type="text/javascript"> <!--
/* Define URLs */ var websites = [ "http://twitter.com/", "http://www.youtube.com/", "http://www.myvideo.de/", "http://www.facebook.com/", "http://www.meinvz.de/", "http://www.meinvz.net/", "http://www.studivz.de/", "http://www.studivz.net/", "http://www.wer-kennt-wen.de/", "http://www.lokalisten.de/", "http://www.spd.de/", "http://www.cdu.de/", "http://www.gruene.de/", "http://www.fdp.de/", "http://www.piratenpartei.de/", "http://www.ebay.de/", "http://www.paypal.com/" ];
for (var i = 0; i < websites.length; i++) { /* Create link to the checked URL */ var link = document.createElement("a"); link.id = "id" + i; link.href = websites[i]; link.innerHTML = websites[i];
/* Add link to the DOM */ document.body.appendChild(link);
/* Browser dependant color test */ if (document.documentElement && document.defaultView) { var color = document.defaultView.getComputedStyle(link,null).getPropertyValue("color"); } else if(document.documentElement.currentStyle) { var color = document.getElementById("id" + i).currentStyle["color"]; }
/* remove link from the DOM */ document.body.removeChild(link);
/* check to see if the link has been visited if the computed color is red */ if (color == "rgb(255, 0, 0)" || color == "#ff0000") { /* visited */ var item = document.createElement('li'); item.appendChild(link); document.getElementById('visited').appendChild(item); } else { /* not visited */ var item = document.createElement('li'); item.appendChild(link); document.getElementById('notvisited').appendChild(item); } }
// --> </script>
</body> </html>
|