În ce fel este JavaScript restricționat atunci când se face o aplicație Facebook?

voturi
12

Am fost rugat să facă aplicații Facebook. Înainte să se angajeze la nimic, vreau să știu cât de ușor un joc poate fi mutat la Facebook? (Sunt jocuri de luare a complet confortabil în JavaScript în browser.)

Are filtru Facebook JavaScript într-un fel? Pot folosi jQuery sau alte JS biblioteci? Pot să fac animație prin modificarea DOM pe zbor? Este cel mai bine pentru a merge cu un iframe sau de a folosi FBML?

Am făcut unele poking în jurul valorii de site-ul dev Facebook. Dar aș vrea să aud de la cineva care a făcut ceea ce curba de învățare este ca și cum.

Întrebat 08/06/2009 la 17:44
sursa de către utilizator
În alte limbi...                            


3 răspunsuri

voturi
1

Nu prea tare aș spune, din moment ce ai deja capacitatea de a programa un joc, ar trebui să fie bine pentru tine de a programa o aplicație Facebook, precum și migrarea unui joc pe Facebook.

în măsura în care știu, cu FBML JavaScript va deveni nefolositor (da, JavaScript va fi filtrat)

așa că va trebui să utilizați iFrame, care JavaScript va rămâne funcțional (atâta timp cât JavaScript-ul nu atinge etichetele fbml)

Facebook documentație api este de notorietate rău.

Publicat 08/06/2009 la 17:49
sursa de către utilizator

voturi
9

JavaScript în contextul Facebook este diferită în măsura în care toți vor fi rescrisă ca merge prin Facebook. Pentru a obține un sentiment de diferențele (dintre care sunt multe), începe cu Documentația FBJS . Început de drum ghid este un grund bun.

Site - ul care va deveni Biblia este wiki.developers.facebook.com , este canonică în ceea ce privește platforma FB. În plus, așa cum noi toți am ajuns să cunoaștem și (dragostea? Ura?) Platforma Facebook este o țintă în mișcare, așa că este util să se țină pasul cu lucruri prin intermediul Grupului pentru dezvoltatori pe Facebook. Îmi place , de asemenea , blogul Inside Facebook .

Cei mai mulți furnizori care permite dezvoltatorilor de a încorpora JavaScript în termen de dezvoltatorii lor forță de domeniu pentru a utiliza iframe pentru a sandbox codul lor. Facebook a luat o abordare diferită a acestei probleme. JavaScript care ne da devine analizat, precum și orice identificatori (funcții și nume de variabile) se prefixate cu ID-ul aplicației. De exemplu, următorul bloc de cod:

function foo(bar) { var obj = {property: bar}; return obj.property;

}

devine:

function a12345_foo(a12345_bar) { var a12345_obj = {property: a12345_bar}; return a12345_obj.property; }

Acest lucru creează un domeniu de aplicare virtual pentru fiecare aplicație care rulează în cadrul Facebook. De acolo ne-am expune anumite funcții, printr-o colecție de obiecte JavaScript care vă permit să modificați conținutul dvs. pe Facebook. obiectele noastre sunt realizate pentru a imita funcționalitatea JavaScript cât mai aproape posibil, dar poate dura ceva timp sa folosit pentru a pentru persoanele care sunt deja adeptul cu JavaScript.

Multe elemente care sunt pur și simplu elemente simplu JavaScript trebuie să fie realizată cu apeluri speciale metode în FBJS. De exemplu , atunci când se referă la valoarea unui câmp de formular în JS utilizați .value, în timp ce în FBJS trebuie să faci .getValue(). Este aceste diferențe care împiedică pur și simplu de tăiere și lipire JS din altă parte în Facebook.

Acesta este un grund de bază. Asta ar trebui sa ai început. Cel mai bun pentru tine!

Publicat 08/06/2009 la 18:26
sursa de către utilizator

voturi
2

Soluția simplă este să-și încheie întregul joc în interiorul unui IFRAME. FB se filtrează o mulțime de javascript apeluri - practic, orice fereastră care implică obiecte sau un document, probabil, nu va funcționa.

Publicat 09/06/2009 la 03:30
sursa de către utilizator

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more