2009-06-08 9 views
12

मुझे फेसबुक ऐप्स करने के लिए कहा गया है। कुछ भी करने से पहले, मैं जानना चाहता हूं कि फेसबुक पर गेम कितनी आसानी से स्थानांतरित किया जा सकता है? (मैं ब्राउज़र में जावास्क्रिप्ट में पूरी तरह से आरामदायक बनाने खेल रहा हूँ।)फेसबुक ऐप बनाते समय जावास्क्रिप्ट को किस तरह से प्रतिबंधित किया गया है?

फेसबुक किसी तरह जावास्क्रिप्ट को फिल्टर करता है? क्या मैं jQuery या अन्य जेएस पुस्तकालयों का उपयोग कर सकता हूं? क्या मैं फ्लाई पर डोम को बदलकर एनीमेशन कर सकता हूं? क्या आईफ्रेम के साथ जाना या एफबीएमएल का उपयोग करना सबसे अच्छा है?

मैं फेसबुक देव स्थल के चारों ओर कुछ poking किया है। लेकिन मैं किसी ऐसे व्यक्ति से सुनना चाहता हूं जिसने ऐसा किया है जो सीखने की अवस्था की तरह है।

उत्तर

9

जावास्क्रिप्ट अलग यद्यपि के रूप में यह सब के रूप में यह फेसबुक के माध्यम से चला जाता है फिर से लिखा जाएगा है। मतभेदों की भावना प्राप्त करने के लिए (जिनमें से कई हैं), FBJS Documentation से शुरू करें। getting started गाइड एक अच्छा प्राइमर है।

साइट है कि अपने बाईबल बन जाएगा यह अमेरिकन प्लान मंच के मामले में विहित है wiki.developers.facebook.com है। इसके अतिरिक्त, जैसा कि हम सभी जानते हैं और (प्यार? नफरत है?) फेसबुक प्लेटफ़ॉर्म एक चलती लक्ष्य है, इसलिए फेसबुक पर डेवलपर समूह के माध्यम से चीजों को बनाए रखना उपयोगी है। मुझे ब्लॉग Inside Facebook भी पसंद है।

अधिकांश प्रदाताओं, जो लिए डेवलपर्स जावास्क्रिप्ट एम्बेड उनके डोमेन बल डेवलपर्स के भीतर को iframes का उपयोग करने की अनुमति अपने कोड sandbox। फेसबुक ने इस समस्या के लिए एक अलग दृष्टिकोण लिया है। जावास्क्रिप्ट जो आप हमें देते हैं पार्स किया गया है, और किसी भी पहचानकर्ता (फ़ंक्शन और चर नाम) आपकी एप्लिकेशन आईडी के साथ प्रीपेड हो जाते हैं। उदाहरण के लिए, कोड ब्लॉक निम्नलिखित:

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

}

हो जाता है:

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

यह हर अनुप्रयोग है कि फेसबुक में चलता है के लिए एक आभासी गुंजाइश पैदा करता है। वहां से हम कार्यक्षमता का उपयोग जावास्क्रिप्ट ऑब्जेक्ट्स के संग्रह के माध्यम से करते हैं जो आपको फेसबुक पर अपनी सामग्री को संशोधित करने की अनुमति देता है। ऑब्जेक्ट्स को जावास्क्रिप्ट की कार्यक्षमता को जितनी संभव हो सके नकल करने के लिए बनाया गया है, लेकिन उन लोगों के लिए उपयोग किया जा रहा है जो पहले ही जावास्क्रिप्ट से चिपक चुके हैं।

कई आइटम जो साधारण जावास्क्रिप्ट में तत्व हैं, एफबीजेएस में विशेष विधि कॉल के साथ पूरा किया जाना चाहिए। उदाहरण के लिए जब जेएस में किसी फॉर्म फ़ील्ड के मान का जिक्र करते हैं तो आप .value का उपयोग करते हैं, जबकि एफबीजेएस में आपको .getValue() करना होगा। यह अंतर है जो जेएस को कहीं और फेसबुक से काटने और चिपकाने से रोकता है।

यह एक मूल प्राइमर है। आपको इस तरह से प्रारंभ करवाया जाना चाहिए। आप के लिए सबसे अच्छा!

+0

क्या एक पूर्ण div के शीर्ष और बाएं को बदलने का कोई तरीका है? मैं लिंक में नहीं मिला। – Nosredna

+0

मैंने ऐसा नहीं किया है, लेकिन मुझे लगता है कि आप इसके लिए setStyle() का उपयोग करेंगे। obj.setStyle ({position: 'absolute', top: '10px', left: '10px'}); – artlung

1

नहीं बहुत कठिन मैं कहूंगा, क्योंकि आप पहले से ही एक खेल कार्यक्रम करने की क्षमता है, तो यह आपको एक फेसबुक एप्लिकेशन कार्यक्रम है, साथ ही फेसबुक पर एक खेल पलायन के लिए ठीक होना चाहिए।

जहाँ तक मुझे पता है (हाँ अपने जावास्क्रिप्ट फ़िल्टर कर दिया जाएगा), FBML के साथ अपने जावास्क्रिप्ट बेकार रेंडर किया जाएगा

ताकि आप iFrame उपयोग करने के लिए है, जो अपने जावास्क्रिप्ट कार्यात्मक रहेगा (जब तक अपने जावास्क्रिप्ट के रूप में होगा FBML टैग स्पर्श नहीं करता है)

फेसबुक API दस्तावेज़ बेहद खराब है। फेसबुक संदर्भ में

2

सरल समाधान एक आईफ्रेम के अंदर अपने पूरे गेम को लपेटना है। एफबी स्वयं बहुत सारी जावास्क्रिप्ट कॉल फ़िल्टर करता है - मूल रूप से, विंडो या दस्तावेज़ ऑब्जेक्ट्स से जुड़ी कुछ भी शायद काम नहीं करेगी।

संबंधित मुद्दे

 संबंधित मुद्दे