बिल्डिंग पर voidstate's और Dzulqarnain Nasir's उत्तर, यहाँ कोड मैं अपने प्रोजेक्ट पर का उपयोग कर समाप्त हो गया है।
जिस हिस्से ने मुझे सबसे ज्यादा ट्रिप किया वह यह था कि FB.init()
स्पष्ट रूप से असीमित है। callback()
(FB.getLoginStatus
के बिना) को हटाने की कोशिश में, FB
अभी तक प्रारंभ नहीं हुआ था, और मुझे "An active access token must be used to query information about the current user.
" त्रुटियां मिल रही थीं।
RequireJS शिम कॉन्फ़िग
require.config({
// paths: { 'facebookSDK': '//connect.facebook.net/en_US/all/debug' }, // development
paths: { 'facebookSDK': '//connect.facebook.net/en_US/all' }, // production
shim: { 'facebookSDK': { exports: 'FB' } }
});
एएमडी मॉड्यूल प्रारंभ करने के लिए फेसबुक जे एस एसडीके
define(['facebookSDK'], function (FB) {
'use strict';
return function (settings, callback) {
var args = {
appId: settings.appId,
channelUrl: settings.channelUrl,
status: true,
cookie: true,
xfbml: true
};
console.log('Calling FB.init:', args);
FB.init(args);
if (callback && typeof (callback) === "function") {
// callback() // does not work, FB.init() is not yet finished
FB.getLoginStatus(callback);
}
};
});
यह अभी भी काफी मूल प्रश्न के वांछित उपयोग को संबोधित नहीं करता।
require(['libs/facebook/fb'], // where fb.js holds my above Module
function(FBinit){
FBinit({
appId: appId,
channelUrl: channelUrl
}, function(){
FB.api("/me", function(){});
});
}
);
यह काफी ओपी के मूल अवधारणा cleanas के रूप में नहीं है, लेकिन अपने सबसे अच्छे रूप में मैं यह पता लगाने सकता है: के रूप में
ओपी के कोड हो सकता है फिर से लिखा जा सकता है। अगर किसी के पास कोई है, तो मुझे अपने दृष्टिकोण को बेहतर बनाने के बारे में कुछ प्रतिक्रिया या सलाह पसंद आएगी। मैं अभी भी RequJS के लिए बहुत नया हूँ। https://developers.facebook.com/docs/javascript/howto/requirejs/
require.config({
shim: {
'facebook' : {
export: 'FB'
}
},
paths: {
'facebook': '//connect.facebook.net/en_US/all'
}
})
require(['fb']);
और उसके बाद इस तरह मॉड्यूल जोड़ने:
लग रहा है फेसबुक की तरह अंत में इस संबोधित किया, उनके समाधान काफी में से कुछ के समान दिखता है इस सवाल पर जवाब। https://developers.facebook.com/docs/howto/javascript/requirejs/ – the0ther