मैं अपने फेसबुक ऐप में मानक फेसबुक जावास्क्रिप्ट कोड का उपयोग कर रहा हूं, जिसे मैं हेरोोकू पर अपने नमूना ऐप में मिला। मैं वास्तव में इसे समझ नहीं पा रहा हूं, लेकिन सावधान रहकर मैं नमूना ऐप को कुछ बुनियादी चीजों को करने में सक्षम हूं जो मेरे लिए उपयोगी हैं।फेसबुक जावास्क्रिप्ट एसडीके असीमित रूप से क्यों लोड किया गया है?
मेरी समझ यह है कि यह कोड किसी भी तरह से फेसबुक जावास्क्रिप्ट एसडीके लोड करता है। यही है, यह एक जावास्क्रिप्ट कोड फ़ाइल लोड करता है। यह वास्तव में क्या फाइल लोड हो रहा है? मैं इसे लोड क्यों नहीं कर सकता जैसे कि मैं किसी अन्य जावास्क्रिप्ट कोड फ़ाइल को लोड करता हूं? उदाहरण के लिए:
<script type="text/javascript" src="/javascript/jquery-1.7.1.min.js"></script>
इस अत्यधिक जटिल दृष्टिकोण का नकारात्मक पक्ष यह है कि मैं इसके बारे में सिर या पूंछ नहीं बना सकते है, और क्योंकि मैं इसे समझ में नहीं आता, मैं इसका उपयोग कैसे करें के बारे में कोई अंतर्ज्ञान की है।
यहाँ कोड:
<script type="text/javascript">
window.fbAsyncInit = function() {
FB.init({
appId : '<?php echo AppInfo::appID(); ?>', // App ID
channelUrl : '//<?php echo $_SERVER["HTTP_HOST"]; ?>/channel.html', // Channel File
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
// Listen to the auth.login which will be called when the user logs in
// using the Login button
FB.Event.subscribe('auth.login', function(response) {
// We want to reload the page now so PHP can read the cookie that the
// Javascript SDK sat. But we don't want to use
// window.location.reload() because if this is in a canvas there was a
// post made to this page and a reload will trigger a message to the
// user asking if they want to send data again.
window.location = window.location;
});
FB.Canvas.setAutoGrow();
};
// Load the SDK Asynchronously
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
फेसबुक जावास्क्रिप्ट एसडीके के लिए इस तकनीक का उपयोग करना आवश्यक क्यों है जब इसे किसी अन्य जावास्क्रिप्ट कोड के लिए उपयोग नहीं किया जाता है? –
फेसबुक उन बड़े खिलाड़ियों में से एक है जिनकी लिपि लाखों वेब पृष्ठों में एम्बेड हो गई है, इसलिए उन्हें प्रदर्शन मुद्दों पर अधिक ध्यान देना होगा। और चारों ओर देखकर मुझे लगता है कि आप पाएंगे कि अन्य बड़े खिलाड़ी आमतौर पर अपनी स्क्रिप्ट को असीमित रूप से एम्बेड करने की सलाह देते हैं, f.e. Google, ट्विटर, ... – CBroe
और फेसबुक के मामले में उनके सर्वर कुछ क्षणों में धीमा हो सकते हैं। जब बटन की तरह लोड होता है तो बस ध्यान दें। आमतौर पर थोड़ी देर देरी होती है। – Tom