Noul www.iamntz.com

Blogbrowsing

28 Dec

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

Scris în categoria: Internet 2 Comentarii

2 Comentarii »

  1. Esti geniu!:)))))

  2. Intradevar este geniu! ^:)^

Lasă un comentariu

Nu completa urmatorul câmp!

Dacă tot mă înjuri, înjură-mă folosind un nume real Aşa cum eu îmi pot da numele şi datele de contact REALE, în acelaşi fel, din respect pentru restul cititorilor (dacă nu pentru mine), poţi folosi şi tu un nume adevărat. Numele mic este suficient (nu vreau să ştiu numele de familie, adresă, etc).
Este un semn de respect reciproc.
Mulţumesc.

Foloseşte o adresă de email REALĂ Nu vei primi spam şi nu vei fi contactat pe această adresă. Este utilă când te abonezi la comentarii

Scrie site-ul tău Dacă nu ai site (sau dacă pur şi simplu nu vrei să îl dezvălui) lasă gol.
Site-ul NU este o adresă de email.

Poţi folosi câteva taguri XHTML: <blockquote> <strong> <a> <em>

Pentru a posta secvenţe de cod, foloseşte
<pre lang="php/css/html/javascript"> CODUL TĂU <pre>

Do NOT fill this !

Ai citit ce a scris ?
Nu, mulţumesc