annotate RollUp.js @ 64:d4f26e9767bf

Filtrage via Akismet du spam. Suite aux nombreuses attaques de spammers sur le blog, j'ai du chercher une solution efficace permettant d'y faire face. La solution la plus efficace que j'ai pour le moment, c'est Akismet, qui semble ne pas avoir trop de faux positifs (je n'en ai pas encore eu un seul). Il est necessaire de creer un compte sur WordPress.com pour obtenir une clef permettant d'utiliser le service, c'est totalement gratuit.
author Franck Deroche <webmaster@defr.org>
date Tue, 11 Mar 2008 08:16:11 -0700
parents 629389204276
children
rev   line source
webmaster@0 1 var styleSwitch = {
webmaster@0 2 set:function(title) {
webmaster@0 3 var i, a, main;
webmaster@0 4 for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
webmaster@0 5 if(a.getAttribute("rel").indexOf("Style") != -1 && a.getAttribute("title")) {
webmaster@0 6 a.disabled = true;
webmaster@0 7 if(a.getAttribute("title") == title) a.disabled = false;
webmaster@0 8 }
webmaster@0 9 }
webmaster@0 10 document._currentStyleSheet = title;
webmaster@0 11 },
webmaster@0 12
webmaster@0 13 get:function() {
webmaster@0 14 return document._currentStyleSheet;
webmaster@0 15 },
webmaster@0 16
webmaster@0 17 getPref:function() {
webmaster@0 18 var a = document.getElementsByTagName("link");
webmaster@0 19 for(var i=0; a[i]; i++) {
webmaster@0 20 if(a[i].getAttribute("rel").indexOf("Style") != -1 && a[i].getAttribute("rel").indexOf("Alt") == -1 && a[i].getAttribute("title"))
webmaster@0 21 return a[i].getAttribute("title");
webmaster@0 22 }
webmaster@0 23 return null;
webmaster@0 24 },
webmaster@0 25
webmaster@0 26 unload:function() {
webmaster@0 27 var date = new Date();
webmaster@0 28 date.setTime(date.getTime() + 365 * 24 * 3600 * 1000);
webmaster@0 29 document.cookie="style=" + document._currentStyleSheet +";expires=" + date.toGMTString() + ";path=/";
webmaster@0 30 }
webmaster@0 31 }
webmaster@0 32
webmaster@0 33 var arContent = new Array();
webmaster@0 34 var arTitle = new Array();
webmaster@0 35
webmaster@0 36 window.onload = function() {
webmaster@0 37 var shownSection = 'About', i, x;
webmaster@0 38 x=document.getElementsByTagName('dt');
webmaster@0 39 for(i=0;i<x.length;i++) {
webmaster@0 40 if(x[i].parentNode.id == 'SideBar') {
webmaster@0 41 x[i].onclick=ToggleDisp;
webmaster@0 42 arTitle[arTitle.length] = x[i];
webmaster@0 43 }
webmaster@0 44 }
webmaster@0 45 x=document.getElementsByTagName('dd');
webmaster@0 46 for (i=0;i<x.length;i++) {
webmaster@0 47 if(x[i].parentNode.id == 'SideBar') {
webmaster@0 48 arContent[arContent.length] = x[i];
webmaster@0 49 if(arTitle[arContent.length - 1].id!=shownSection) {
webmaster@0 50 x[i].style.display='none';
webmaster@0 51 } else {
webmaster@0 52 arTitle[arContent.length - 1].className='Actif';
webmaster@0 53 }
webmaster@0 54 }
webmaster@0 55 }
webmaster@0 56 var ad = document.getElementById('Adresse');
webmaster@0 57 ad.onclick = ToggleLink;
webmaster@0 58 arContent[arContent.length] = document.getElementById("Link");
webmaster@0 59 arTitle[arTitle.length] = ad;
webmaster@0 60
webmaster@0 61 styleSwitch.set(styleSwitch.getPref());
webmaster@0 62 /* var dS = document.styleSheets;
webmaster@0 63 if(dS && dS[dS.length - 1].title) {
webmaster@0 64 for(var i =0; i < dS.length; i++)
webmaster@0 65 {
webmaster@0 66 if(dS[i].title=='Somatic') {
webmaster@0 67 if(dS[i].insertRule)
webmaster@0 68 dS[i].insertRule("@import url('/blog/Somatic_JS.css');", 0);
webmaster@0 69 else
webmaster@0 70 dS[i].addImport('Somatic_JS.css');
webmaster@0 71 }
webmaster@0 72 }
webmaster@0 73 }
webmaster@0 74 else if(dS && styleSwitch.get() == "Somatic") {
webmaster@0 75 dS[dS.length - 1].insertRule("@import url(/blog/Somatic_JS.css);", 0);
webmaster@0 76 //for(j in dS[0]) alert(j);
webmaster@0 77 }*/
webmaster@0 78 }
webmaster@0 79
webmaster@0 80 window.onunload = function() {
webmaster@0 81 styleSwitch.unload();
webmaster@0 82 return true;
webmaster@0 83 }
webmaster@0 84
webmaster@0 85
webmaster@0 86 function ToggleDisp(e) {
webmaster@0 87 for(var i=0; i<arTitle.length; i++) arTitle[i].className='';
webmaster@0 88 var targetAc;
webmaster@0 89 if(!e) e=window.event;
webmaster@0 90 if(e.target) targetAc=e.target;
webmaster@0 91 else targetAc=e.srcElement;
webmaster@0 92 //Parait que la ligne suivante est utile pour Safari ^^;... Sauf qu'Opera retourne en plus le ns dans le nodeName...
webmaster@0 93 while(targetAc.nodeName.toLowerCase() != 'dt' && targetAc.nodeName.toLowerCase() != 'html:dt') targetAc=targetAc.parentNode;
webmaster@0 94 targetAc.className = 'Actif';
webmaster@0 95 var nextSib=targetAc.nextSibling;
webmaster@0 96 while(nextSib.nodeType!=1) {nextSib=nextSib.nextSibling;}
webmaster@0 97 if(styleSwitch.get() != "Somatic") {
webmaster@0 98 var nextSibDisp=(nextSib.style.display=='none') ? 'block' : 'none';
webmaster@0 99 nextSib.style.display=nextSibDisp;
webmaster@0 100 } else {
webmaster@0 101 for(i=0;i<arContent.length;i++) arContent[i].style.display = 'none';
webmaster@0 102 nextSib.style.display='block';
webmaster@0 103 }
webmaster@0 104 }
webmaster@0 105
webmaster@0 106 function ToggleLink() {
webmaster@0 107 var obj=document.getElementById('Link');
webmaster@0 108 if(styleSwitch.get() == "Somatic") {
webmaster@0 109 for(i=0; i<arTitle.length; i++) arTitle[i].className='';
webmaster@0 110 arTitle[arTitle.length - 1].className='Actif';
webmaster@0 111 for(i=0;i<arContent.length;i++) arContent[i].style.display='none';
webmaster@0 112 obj.style.display='block';
webmaster@0 113 } else {
webmaster@0 114 obj.style.display=(obj.style.display=='block') ? 'none' : 'block';
webmaster@0 115 }
webmaster@0 116 }
webmaster@0 117
webmaster@0 118 function pop_config() {
webmaster@0 119 alert('Vouip, je sais, faut qu\'j\'remette ca, mais faut l\'updater d\'abord ^^;;');
webmaster@0 120 }
webmaster@0 121