V čem je JavaScript omezen při vytváření aplikace Facebook?

hlasů
12

Byl jsem požádán, aby Facebook aplikací. Předtím, než jsem se zavázat k něčemu, chci vědět, jak snadno může být hra přesunuta na Facebooku? (Jsem úplně pohodlné making her v JavaScriptu v prohlížeči.)

Má Facebook filtrovat JavaScript nějakým způsobem? Mohu použít jQuery nebo jiné JS knihovny? Mohu dělat animaci změnou DOM v reálném čase? Je to nejlepší jít s iFrame nebo použít FBML?

Udělal jsem nějaké postrkování kolem dev stránkách na Facebooku. Ale rád bych slyšet od někoho, kdo to udělal, co je zaučení je podobné.

Položena 08/06/2009 v 17:44
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
1

Není příliš těžké, řekl bych, protože už máte možnost naprogramovat hru, měl by být v pořádku pro vás naprogramovat Facebook aplikací, stejně jako přenesení hry na Facebooku.

pokud je mi známo, se FBML váš javascript bude k ničemu (ano váš javascript bude filtrován)

takže budete muset použít iFrame, který váš javascript zůstane funkční (pokud váš javascript nedotýká fbml tagy)

Facebook API dokumentace je notoricky špatné.

Odpovězeno 08/06/2009 v 17:49
zdroj uživatelem

hlasů
9

JavaScript v rámci Facebook je odlišná, jelikož se všichni budou se přepisují, jak to jde přes Facebook. Chcete-li získat představu o tom rozdíly (z nichž je mnoho), začít s FBJS dokumentace . Začínáme příručka je dobrým primer.

Na stránkách, které budou vaše bible je wiki.developers.facebook.com je kanonický z hlediska FB platformy. Navíc, jak jsme všichni poznali a (láska? Nenávidí?) Platforma Facebook je pohyblivý cíl, takže je vhodné, aby udržel krok s věcmi přes skupinu vývojářů na Facebooku. Také jsem rád blogu Inside Facebook .

Většina poskytovatelů, kteří umožňují vývojářům vložit JavaScript do svých vývojářů doména síly používat iframe na pískovišti svůj kód. Facebook přijal jiný přístup k tomuto problému. JavaScript, který nám dá dostane analyzován a všechny identifikátory (názvy funkcí a proměnných) dostat prepended pomocí aplikačního ID. Například, následující blok kódu:

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

}

se stává:

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

Tím se vytvoří virtuální prostor pro každou aplikaci, která běží v Facebook. Odtud jsme vystavit určité funkce pomocí kolekce objektů JavaScriptu, které vám umožní upravit svůj obsah na Facebooku. Naše objekty jsou vyráběny napodobit funkčnost JavaScript, co nejpřesněji, ale to může trvat nějaký čas zvykat na lidi, kteří jsou již adept s JavaScriptem.

Mnoho položek, které jsou jednoduše prvky prostého JavaScript musí být provedeno pomocí speciálních volání metod v FBJS. Například když se odkazuje na hodnoty pole formuláře je v JS, kterou používáte .value, zatímco v FBJS, co musíte udělat .getValue(). Je to tyto rozdíly, které zabraňují jednoduše kopírování a vkládání JS odjinud do Facebooku.

To je základní nátěr. To by mělo dostat jste začali. Nejlepší pro vás!

Odpovězeno 08/06/2009 v 18:26
zdroj uživatelem

hlasů
2

Jednoduchým řešením je zabalit celou svou hru uvnitř iFrame. FB sám odfiltrovat mnoho z volání jazyka JavaScript - v podstatě cokoliv zapojením okno nebo dokument objekty pravděpodobně nebude fungovat.

Odpovězeno 09/06/2009 v 03:30
zdroj uživatelem

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