In che modo è limitato JavaScript quando si effettua un'applicazione Facebook?

voti
12

Mi è stato chiesto di fare applicazioni di Facebook. Prima di impegnarsi a nulla, voglio sapere come facilmente un gioco può essere spostato a Facebook? (Io sono completamente confortevoli giochi per la preparazione in JavaScript nel browser.)

Ha Facebook filtrare il JavaScript in qualche modo? Posso usare le librerie jQuery o altro JS? Posso fare l'animazione alterando la DOM al volo? E 'meglio andare con un iFrame o utilizzare FBML?

Ho fatto qualche rovistando il sito dev Facebook. Ma mi piacerebbe sentire da qualcuno che ha fatto quello che la curva di apprendimento è come.

È pubblicato 08/06/2009 alle 17:44
fonte dall'utente
In altre lingue...                            


3 risposte

voti
1

Non troppo difficile, direi, dal momento che già ha la possibilità di programmare un gioco, dovrebbe andare bene per voi di programmare un'applicazione Facebook, così come la migrazione di un gioco a Facebook.

per quanto ne so, con FBML Javascript sarà reso inutile (sì Javascript sarà filtrato)

quindi si dovrà utilizzare iFrame, che Javascript rimarrà funzionale (a patto che il javascript non tocca i tag FBML)

Facebook documentazione API è notoriamente male.

Risposto il 08/06/2009 a 17:49
fonte dall'utente

voti
9

JavaScript nel contesto Facebook è diverso in quanto tutto sarà ottenere riscritto come va attraverso Facebook. Per avere un'idea delle differenze (di cui ci sono molti), iniziare con la documentazione FBJS . La introduttiva guida è un buon primer.

Il sito che diventerà il vostro Bibbia è wiki.developers.facebook.com , è canonica in termini di piattaforma FB. Inoltre, come tutti noi abbiamo imparato a conoscere e (amore? Odio?) La piattaforma Facebook è un bersaglio mobile, quindi è utile per tenere il passo con le cose attraverso il Gruppo sviluppatori su Facebook. Mi piace anche il blog Inside Facebook .

La maggior parte dei provider che consentono agli sviluppatori di incorporare JavaScript all'interno dei loro sviluppatori forza dominio da utilizzare iframe per sandbox loro codice. Facebook ha adottato un approccio diverso a questo problema. viene analizzato JavaScript che ci date, e le eventuali identificatori (funzione ei nomi delle variabili) Ottenere anteporre con il tuo ID applicazione. Ad esempio, il blocco di codice seguente:

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

}

diventa:

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

Questo crea un ambito virtuale per ogni applicazione che viene eseguito all'interno di Facebook. Da lì si espongono alcune funzionalità attraverso una collezione di oggetti JavaScript che consentono di modificare i contenuti su Facebook. I nostri oggetti sono fatti per simulare la funzionalità di JavaScript il più vicino possibile, ma può richiedere un po 'per abituarsi a persone che sono già abili con JavaScript.

Molti oggetti che sono semplicemente elementi in pianura JavaScript devono essere compiuti con chiamate a metodi speciali in FBJS. Per esempio quando si parla di valore di un campo modulo in JS si utilizza .value, mentre in FBJS quello che devi fare .getValue(). Sono queste differenze che impediscono semplicemente tagliando e incollando JS da altrove in Facebook.

Questo è un primer di base. Questo dovrebbe iniziare. Meglio per voi!

Risposto il 08/06/2009 a 18:26
fonte dall'utente

voti
2

La soluzione più semplice è quello di avvolgere l'intero gioco all'interno di un iframe. FB si filtra un sacco di javascript chiama - in pratica, tutto ciò che coinvolge gli oggetti finestra o documento probabilmente non funzionerà.

Risposto il 09/06/2009 a 03:30
fonte dall'utente

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