Blogbrowsing

A 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

2 Comentarii

Adaugă un comentariurăspuns pentru

Link-urile în context sunt binevenite. Comentariile fără nume/email valid sunt șterse.
PS: Comentariul NU este editabil.

Site-ul blog.iamntz.com utilizează cookie-uri. Continuarea navigării presupune acceptarea lor. Mai multe informații.

windows apple dropbox facebook twitter