NetHq Blog


A rossz legjobb kritikája az, ha megmutatjuk, hogyan kell jobban csinálni.

Hiba a Facebook Javascript SDK-ban, a megoldás egyszerű!

Nightvis, 2012.05.09 12:22
A mai nap a facebook kiadott egy frissítést a javascript alapú keretének. Sajnos az SDK-ban egy hiba található, így a legtöbb alkalmazás ami ezt használja, nem működik. A hiba javítása a facebook oldaláról folyamatban van, viszont egy kis ügyeskedéssel mi magunk is orvosolhatjuk a hibát.

A mai nap a facebook kiadott egy frissítést a javascript alapú keretének. Sajnos az SDK-ban egy hiba található, így a legtöbb alkalmazás ami ezt használja, nem működik. A hiba javítása a facebook oldaláról folyamatban van, viszont egy kis ügyeskedéssel mi magunk is orvosolhatjuk a hibát.

A hiba eredendő forrása a facebook all.js fájla. Ezt kell kicserélnünk egy régebbi verzóra. Sajnos az interneten nem lehet találni régebbi verzót, ami ne lenne legalább 1,5 éves, így a javítást magunknak kell elkészíteni.

Első lépések

Töltsük le a facebook js.all fájlt. Ezt egyszerűen böngészőből is megtehetjük. Fontos megjegyeznünk, hogy érdemes a letöltés után átkonvertálni a a fájlt egy "full" formátumra, mivel a fent lévő fájl "min" formátumú. 

Ha ez megtörtén, akkor nyissuk meg a kedvenc editorunkkal az állományt és az alábbi kódrészletet módosítsuk rajta.

Erre kell kicserélni:

 

            //v554319

            if (typeof w == 'function') return w.apply(r, u);            

                                           

Ezt kell kicserélni

 

            //v554488

            //if (s !== 'bind' && typeof w == 'function') return w.apply(r, u);

 

Integrálás

A fájlt feltöltjük a szerverünkre és innen fogjuk hívni. Ezek után az alkalmazásunkban ahol behívjuk a facebookról az all.js fájlt, kicseréljük egy lokális hívásra.

pl.:

<script language="javascript" srcall.js"></script>

Ezek után az alkalmazásunk tökéletesen működni fog. 

Megjegyzés

Figyeljük a facebook bug reportokat, mert a hibát javítani fogják és akkor érdemes visszaállni a már megszokott online rendszerre.

Tartalom közösségi megosztása: