Blogbrowsing
28 DecA apărut de ceva timp în blogosfera românească acest serviciu. E drăguţ, e original, are chiar şi un plugin pentru Wordpress dar are o problemă destul de gravă ce se pare că nu s-a rezolvat nici la o săptămână de la semnalarea ei: orice este în pagină javascript refuză să mai funcţioneze (cel puţin pe Firefox).
Explicaţia:
scriptul Blogbrowsing se adaugă în pagină prin următoarea metodă:
document.body.innerHTML+= s
Ceea ce înseamnă: „ia frumuşel tot codul din tagul <body>, adaugă după el conţinutul variabielei s (adică ce apare în colţul din dreapta sus), şterge tot ce e înlocuieşte vechiul body cu ce a rezultat”. Din această cauză, toate eventurile ataşate elementelor DOM se anulează.
Soluţia:
La o oră târzie în noapte, mi-a venit ideea să mă uit în sursa codului şi să fac ceva încercări. Cea mai la îndemână soluţie a fost generarea unui element nou şi inserarea codului Blogbrowsing în acest element.
var newdiv = document.createElement('div');
var divIdName = 'blogBrowsingJsFix';
newdiv.setAttribute('id',divIdName);
document.body.appendChild(newdiv);
în locul inserării în body, am inserat codul în div-ul proaspăt creat:
document.getElementById("blogBrowsingJsFix").innerHTML = s;
Am testat doar pe Firefox, dar, teoretic, ar trebui să aibe acelaşi comportament şi pe restul browserelor. Aştept(ăm) corectarea codului pentru a include iar codul în pagină
//update: am testat pe firefox, opera, safari, ie6 şi ie7. Pe IE6 e problema cu ActiveX (trebuie sa faci click pe flash pentru a fi rulat), dar în rest merge bine :D
)


