Op welke manier is JavaScript beperkt bij het maken van een Facebook-app?

stemmen
12

Ik ben gevraagd om Facebook apps te doen. Voordat ik verbinden tot iets, ik wil weten hoe gemakkelijk een spel kan worden verplaatst naar Facebook? (Ik ben helemaal comfortabel making games in JavaScript in de browser.)

Heeft Facebook filter instellen voor het JavaScript of andere manier? Kan ik jQuery of andere JS bibliotheken? Kan ik animatie door wijziging van de DOM on the fly? Is het beste om te gaan met een iFrame of gebruik FBML?

Ik heb wat rondneuzen de Facebook-dev website gedaan. Maar ik zou graag horen van iemand die het heeft gedaan wat de leercurve is als.

De vraag is gesteld op 08/06/2009 om 17:44
bron van user
In andere talen...                            


3 antwoorden

stemmen
1

Niet te hard zou ik zeggen, omdat je al de mogelijkheid om een ​​spel te programmeren, moet het wel goed voor u om een ​​Facebook-app te programmeren, evenals het migreren van een spel op Facebook.

voor zover ik weet, met FBML uw javascript zal worden onbruikbaar (ja je javascript worden gefilterd)

dus je zal moeten iFrame, die uw javascript functioneel blijven gebruiken (zolang uw javascript niet de FBML tags te raken)

Facebook API-documentatie is notoir slecht.

antwoordde op 08/06/2009 om 17:49
bron van user

stemmen
9

JavaScript in de Facebook-context is anders, aangezien het allemaal krijgt herschreven als het gaat via Facebook. Om een idee van de verschillen (en dat zijn er veel) krijgen, te beginnen met de FBJS documentatie . De slag gids is een goede primer.

De site die uw bijbel zal worden is wiki.developers.facebook.com , is het canonieke in termen van de FB platform. Bovendien, zoals we allemaal hebben leren kennen en (liefde? Haten?) De Facebook-platform is een bewegend doel, dus het is handig om gelijke tred te houden met de dingen via de Developers Group op Facebook. Ik hou ook van de blog Inside Facebook .

De meeste providers die kunnen ontwikkelaars JavaScript te sluiten in hun domein van kracht ontwikkelaars om iframes gebruiken om hun code zandbak. Facebook heeft een andere benadering van dit probleem genomen. JavaScript die u ons geeft wordt ontleed, en eventuele identifiers (functie en variabele namen) krijgen prepended bij uw aanvraag ID. Bijvoorbeeld de volgende codeblok:

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

}

wordt:

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

Dit creëert een virtuele ruimte voor elke applicatie die in Facebook. Vanaf daar bloot we bepaalde functionaliteit door middel van een verzameling van JavaScript-objecten waarmee u uw content op Facebook aan te passen. Onze objecten zijn gemaakt om de functionaliteit van JavaScript zo goed mogelijk na te bootsen, maar het kan wel even wennen om voor mensen die al bedreven met JavaScript.

Veel items die gewoon zijn elementen in platte JavaScript moet worden bereikt met speciale methode oproepen in FBJS. Bijvoorbeeld bij het verwijzen naar de waarde van een vorm veld in JS u gebruikt .value, terwijl in FBJS je hoeft te doen .getValue(). Het zijn deze verschillen die voorkomen gewoon knippen en plakken van JS van elders in Facebook.

Dat is een fundamentele primer. Dat moet u op weg helpen. Beste aan u!

antwoordde op 08/06/2009 om 18:26
bron van user

stemmen
2

De eenvoudige oplossing is om uw gehele spel te verpakken in een iFrame. FB zelf filtert veel javascript noemt - in principe, alles wat met het raam of document objecten zal waarschijnlijk niet werken.

antwoordde op 09/06/2009 om 03:30
bron van user

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