Saturday, October 23, 2010

Inside Facebook's JavaScript SDK code...

Over the past 2 weeks, I've been curious to figure out how Facebook's JavaScript SDK is implemented. The documentation and source code is discussed at http://github.com/facebook/connect-js/. The JavaScript library that you are supposed to add is located at: http://connect.facebook.net/en_US/all.js.

1. First, you can use Rhino and JS Beautifier (http://jsbeautifier.org/) to de-minify the http://connect.facebook.net/en_US/all.js file. Using the uncompressed version allows you not only review the source code but also enables you to set breakpoints and add alert statements to get a better understanding how the JavaScript code works.

2. Once you de-minify the code, you'll notice that Facebook's JavaScript SDK attempts to modularize the different aspects of its code. There are several different modules included with the all.js file. Among the notable modules and their accompanying utils inside this file are:

FB - getLoginStatus(), getSession(), login(), logout()
Array (array utils) - indexOf, merge, filter, keys, map, forEach
QS (query string utils) - encode, decode
Content (DOM-related utils) - append, appendHidden, insertIFrame, postTarget
Flash (Flash-related utils) - init, hasMinVersion, onReady
JSON - stringify, parse, flatten
ApiServer - graph, rest, oauthRequest, jsonp, flash
EventProvider - subscribers, subscribe, unsubscribe, monitor, clear, fire
Intl (international utils) - _endsInPunct, _tx, tx
String - trim, format, escapeHTML, quote
Dom - containsCss, addCss, removeCss, getStyle, setStyle, addScript, addCssRulse, getBrowserType, getViewPortInfo, ready
Dialog - _findRoot, _showLoader, _hideLoader, _makeActive, _lowerActive, _removeStacked, create, show, remove
XD (cross-domain utils) - init, resolveRelation, handler, recv, PostMessage.init, PostMessage.onMessage, Flash.init, Flash.onMessage, Fragment.checkandDispatch
Arbiter - inform
UiServer - genericTransform, prepareCall, getDisplayMode, getXdRelation, popup, hidden, iframe, async, _insertIframe, _triggerDefault, _popupMonitor, _xdChannelHandler, _xdNextHandler, _xdRecv, _xdResult
Auth - setSession, xdHandler, xdResponseWrapper
UIServer.Methods - permissions.request, auth.logout, auth.status
Canvas - setSize, setAutoResize

Inside all.js, you'll notice inside the source code the extensive use of FB.provide(), which is essentially a fancy classical object-oriented way to attach these modules to the FB object. For instance, FB.provide('Array', { ... }) is simply a way to add the Array object and its accompanying functions (i.e. FB.Array.indexOf()). (You can convince yourself by reviewing the provide() and create() functions inside the file to see how things work):
create: function(c, h) {
    var e = window.FB,
        d = c ? c.split('.') : [],
        a = d.length;
    for (var b = 0; b < a; b++) {
      var g = d[b];
      var f = e[g];
      if (!f) {
        f = (h && b + 1 == a) ? h : {};
        e[g] = f;
      }
      e = f;
    }
    return e;
  },

 provide: function(c, b, a) {
    return FB.copy(typeof c == 'string' ? FB.create(c) : c, b, a);
  },
3. When you call FB.init(), several things happen:
 a. The code verifies that you have provide an API key parameter (i.e. FB.init ( {apiKey : '12345'});).
 b. The function init() tries to load the fbs_ cookie that relates to this API key, setting FB.Cookie._enabled to be true, attempts to find a cookie that matches fbs_ + API_KEY for the domain, and sets the FB._session according to the cookie.
 c. The code then invokes getLoginStatus(), which attempts to run the auth.status function.
FB.ui({
      method: 'auth.status',
      display: 'hidden'
    }, c);
d. Inside the auth.status function, you will see a few notable things:
 1. A cross-domain handler is used (FB.Auth.xdHandler). These handlers will be used later to deal with the results rom invoking extern/login_status.php.
2. Three different callbacks are added: no_session, no_user, ok_session. Each of these callbacks translate to results of notConnected, unknown, and connected, respectively.
3. The callbacks each return a function called xdResponseWrapper() that is used to parse the JSON response from the result and used to update the FB._session object.
'auth.status': {
    url: 'extern/login_status.php',
    transform: function(a) {
      var b = a.cb,
          c = a.id,
          d = FB.Auth.xdHandler;
      delete a.cb;
      FB.copy(a.params, {
        no_session: d(b, c, 'parent', false, 'notConnected'),
        no_user: d(b, c, 'parent', false, 'unknown'),
        ok_session: d(b, c, 'parent', false, 'connected'),
        session_version: 3,
        extern: FB._inCanvas ? 0 : 2
      });
      return a;
In fact, if you were to step through this code, you could see that there are three callbacks:
no_user="http://static.ak.fbcdn.net/connect/xd_proxy.php#cb=f146913dd972a&origin=http%3A%2F%2Fdev.myhost.com%2Ff14444845a8136&relation=parent&transport=postmessage&frame=f87b5165d6fd26"
 
no_session="http://static.ak.fbcdn.net/connect/xd_proxy.php#cb=f3424882dbe5a&origin=http%3A%2F%2Fdev.myhost.com%2Ff14444845a8136&relation=parent&transport=postmessage&frame=f87b5165d6fd26"

no_user="http://static.ak.fbcdn.net/connect/xd_proxy.php#cb=f3424882dbe5c&origin=http%3A%2F%2Fdev.myhost.com%2Ff14444845a8136&relation=parent&transport=postmessage&frame=f87b5165d6fd26"
Each of these callbacks (cb=xxxxxxx) refer to a separate JavaScript function that will be invoked depending on the result returned by the cross-domain auth.status request. The all.js will insert a hidden iframe with a pointer to these callbacks. If we use the Firebug console and search for $('iframe') objects, you would see something similar:
<iframe scrolling="no" id="f1970fe755e1e58" name="f1a7f022a28bd14" style="border: medium none; overflow: hidden;" class="FB_UI_Hidden" src="http://www.facebook.com/extern/login_status.php?access_token=false&api_key=022046fa222ebeac8bdc99ec4ebdf8b2&display=hidden&extern=2&locale=en_US&method=auth.status&next=http%3A%2F%2Fstatic.ak.fbcdn.net%2Fconnect%2Fxd_proxy.php%23cb%3Df191b56da21a52a%26origin%3Dhttp%253A%252F%252Fdev.myhost.com%252Ff14444845a8136%26relation%3Dopener%26transport%3Dpostmessage%26frame%3Df87b5165d6fd26%26result%3D%2522xxRESULTTOKENxx%2522&no_session=http%3A%2F%2Fstatic.ak.fbcdn.net%2Fconnect%2Fxd_proxy.php%23cb%3Df3424882dbe5a%26origin%3Dhttp%253A%252F%252Fdev.myhost.com%252Ff14444845a8136%26relation%3Dparent%26transport%3Dpostmessage%26frame%3Df87b5165d6fd26&no_user=http%3A%2F%2Fstatic.ak.fbcdn.net%2Fconnect%2Fxd_proxy.php%23cb%3Df146913dd972a%26origin%3Dhttp%253A%252F%252Fdev.myhost.com%252Ff14444845a8136%26relation%3Dparent%26transport%3Dpostmessage%26frame%3Df87b5165d6fd26&ok_session=http%3A%2F%2Fstatic.ak.fbcdn.net%2Fconnect%2Fxd_proxy.php%23cb%3Df1ce4645681670e%26origin%3Dhttp%253A%252F%252Fdev.myhost.com%252Ff14444845a8136%26relation%3Dparent%26transport%3Dpostmessage%26frame%3Df87b5165d6fd26&sdk=joey&session_version=3"></iframe>
If you were to copy the entire src tag, do a wget "" -O /tmp/bla, you would see that the code returned would have an XD Proxy code that will execute doFragmentSend() when loaded. In other words, the IFrame will load this JavaScript code from www.facebook.com. What actually happens is that this iframe will redirect to xd_proxy.php, which will provide the frame of the callback to invoke in the cb= code. The redirect URL looks similar to the following:
http://static.ak.fbcdn.net/connect/xd_proxy.php#cb=f28ec7bcadf45c&origin=http%3A%2F%2Fdev.myhost.com%2Ffeb2a54d47bbae&relation=parent&transport=postmessage&frame=f2b29b433ebc468
Inside the xd_proxy.php code, these are the critical lines for the cross-domain request. Since params.relation is equal to 'parent' (relation=parent in the URL string), the resolveRelation() will return back window.parent and invoke the window.parent.postMessage() function that was added by the all.js file.
// either send the message via postMessage, or via Flash
  if (params.transport == 'postmessage') {
    resolveRelation(params.relation).postMessage(fragment, params.origin);
When the postMessage() gets invoked, an event listener is created for receiving the related event.data, which is then used to decode the URL query string and extract the cb= callback. The source code. This callback function is then execute (assuming the callback exists):
recv: function(b) {
    if (typeof b == 'string') b = FB.QS.decode(b);
    var a = FB.XD._callbacks[b.cb];
    if (!FB.XD._forever[b.cb]) delete FB.XD._callbacks[b.cb];
    a && a(b);
  },
  PostMessage: {
    init: function() {
      var a = FB.XD.PostMessage.onMessage;
      window.addEventListener ? window.addEventListener('message', a, false) : window.attachEvent('onmessage', a);
    },
    onMessage: function(event) {
      FB.XD.recv(event.data);
    }
  },
One side effect is that if the no_user or no_session callback is invoked, then the function that tries to parse the response and invoke the FB.Auth.setSession() will fail.
xdResponseWrapper: function(a, c, b) {
    return function(d) {
      try {
        b = FB.JSON.parse(d.session);
      } catch (f) {}
      if (b) c = 'connected';
      var e = FB.Auth.setSession(b || null, c);
      e.perms = d && d.perms || null;
      a && a(e);
    };

297 comments:

  1. Thanks for posting useful information.You have provided an nice article, Thank you very much for this one. And i hope this will be useful for many people.. and i am waiting for your next post keep on updating these kinds of knowledgeable things...Really it was an awesome article...very interesting to read..please sharing like this information......
    samsung mobile service center
    samsung mobile service chennai
    samsung mobile repair
    samsung mobile service center near me

    ReplyDelete
  2. Gangaur Realtech is a professionally managed organisation specializing in real estate services where integrated services are provided by professionals to its clients seeking increased value by owning, occupying or investing in real estate.
    date analytics certification training courses
    data science courses training
    data analytics certification courses in Bangalore
    ExcelR Data science courses in Bangalore

    ReplyDelete

  3. Going to graduate school was a positive decision for me. I enjoyed the coursework, the presentations, the fellow students, and the professors. And since my company reimbursed 100% of the tuition, the only cost that I had to pay on my own was for books and supplies. Otherwise, I received a free master’s degree. All that I had to invest was my time.


    BIG DATA COURSE MALAYSIA

    ReplyDelete
  4. You might comment on the order system of the blog. You should chat it's splendid. Your blog audit would swell up your visitors. I was very pleased to find this site.I wanted to thank you for this great read!!
    top 7 best washing machine

    ReplyDelete
  5. You might comment on the order system of the blog. You should chat it's splendid. Your blog audit would swell up your visitors. I was very pleased to find this site.I wanted to thank you for this great read!!
    top 7 best washing machine

    ReplyDelete
  6. It should be noted that whilst ordering papers for sale at paper writing service, you can get unkind attitude. In case you feel that the bureau is trying to cheat you, don't buy term paper from it.
    www.technewworld.in
    How to Start A blog 2019
    Eid AL ADHA


    ReplyDelete
  7. Its as if you had a great grasp on the subject matter, but you forgot to include your readers. Perhaps you should think about this from more than one angle.
    Data Science Courses

    ReplyDelete

  8. thanks for your details it's very useful and amazing.your article is very nice and excellentweb design company in velachery

    ReplyDelete
  9. Qbigpro is the best web designing company in chennai.we are doing web designing and developing website creation website maintenance graphic designing google ads logo creation in our company.web design company in velachery.

    ReplyDelete
  10. I am really impressed with the way of writing of this blog.I really appreciate your hard work. It was a beautiful blog with more informative article. Keep it up!!
    thanks for your information really good and very nice web design company in velachery

    ReplyDelete
  11. Really very happy to say, your post is very interesting to read. I never stop myself to say something about it. You’re doing a great job...I learn more new information from your blog. Keep doing like this. Am waiting for your next blog.
    Python training in bangalore
    Data science with python training in Bangalore
    AWS training in Banaglore
    J meter training in Bangalore

    ReplyDelete
  12. Thank you so much for sharing this amazing article with us. Will stay connected with your blogs for the future posts.
    Python training in bangalore
    Python training in Bangalore

    ReplyDelete
  13. Being new to the blogging world I feel like there is still so much to learn. Your tips helped to clarify a few things for me as well as giving.sap wm training in bangalore

    ReplyDelete
  14. Learned a lot of new things from your post! Good creation and HATS OFF to the creativity of your mind.hadoop training institutes in bangalore


    ReplyDelete
  15. Really very happy to say, your post is very interesting to read. I never stop myself to say something about it.You’re doing a great job. Keep it up...

    Upgrade your career Learn AWS Training from industry experts get Complete hands-on Training, Interview preparation, and Job Assistance at Bangalore Training Academy Located in BTM Layout.

    ReplyDelete
  16. Thank you so much for the great and very beneficial stuff that you have shared with the world.

    Upgrade your career Learn SharePoint Developer Training in Bangalore from industry experts get Complete hands-on Training, Interview preparation, and Job Assistance at Softgen Infotech.

    ReplyDelete
  17. Great Post. Your blog is quite helpful to me and i am sure to others too. I appreciate your post, it is usually nice and contains useful information. Home lift | Vacuum elevator

    ReplyDelete
  18. wonderful thanks for sharing an amazing idea. keep it...

    Best SAP S4 HANA Training in Bangalore- eTechno Soft Solutions is a leading SAP S4 HANA Training Institute in Bangalore offering extensive SAP S4 HANA Training by Real-time Working Professionals along with 100% placement support, Booka Free Demo!

    ReplyDelete
  19. I am genuinely thankful to the holder of this web page who has shared this wonderful paragraph at at this place

    Certification of Data Science
    Big Data Course in Malaysia
    Data Analytics Course Malaysia

    ReplyDelete
  20. A good blog always comes-up with new and exciting information and while reading I have feel that this blog is really have all those quality that qualify a blog to be a onebig data in malaysia
    data scientist course malaysia
    data analytics courses

    ReplyDelete
  21. Truly, this article is really one of the very best in the history of articles. I am a antique ’Article’ collector and I sometimes read some new articles if I find them interesting. And I found this one pretty fascinating and it should go into my collection. Very good work!
    ExcelR Data analytics courses
    data science interview questions

    ReplyDelete
  22. Gangaur Realtech is a professionally managed organisation specializing in real estate services where integrated services are provided by professionals to its clients seeking increased value by owning, occupying or investing in real estate.
    big data in malaysia
    data science course
    data analytics courses
    360DigiTMG

    ReplyDelete
  23. I feel very grateful that I read this. It is very helpful and very informative and I really learned a lot from it.
    courses in business analytics

    data science course in mumbai

    data analytics courses

    data science interview questions

    ReplyDelete
  24. I have bookmarked your website because this site contains valuable information in it. I am really happy with articles quality and presentation. Thanks a lot for keeping great stuff. I am very much thankful for this site.
    big data course in malaysia
    data scientist certification malaysia
    data analytics courses
    360DigiTMG

    ReplyDelete
  25. I finally found great post here.I will get back here. I just added your blog to my bookmark sites. thanks.Quality posts is the crucial to invite the visitors to visit the web page, that's what this web page is providing.
    ExcelR Data Science course in mumbai
    data science interview questions

    ReplyDelete
  26. Actually I read it yesterday but I had some thoughts about it and today I wanted to read it again because it is very well written.big data in malaysia
    data scientist malaysia
    data analytics courses
    360DigiTMG

    ReplyDelete
  27. Attend The Business Analytics Courses From ExcelR. Practical Business Analytics Courses Sessions With Assured Placement Support From Experienced Faculty. ExcelR Offers The Data Analytics Courses.
    Business Analytics Courses
    Data Science Interview Questions

    ReplyDelete
  28. Study Data Analytics Course in Bangalore with ExcelR where you get a great experience and better knowledge.
    Data Analytics Course in Bangalore

    ReplyDelete
  29. Spot on with this write-up, I actually believe that this web site needs much more attention. business I’ll probably be returning to see more, thanks for the info!

    ReplyDelete
  30. Pretty! This info changed right into a in reality terrific post. Thank you for imparting the ones facts.

    ReplyDelete
  31. Thanks for giving great kind of information. So useful and practical for me. Thanks for your excellent blog, nice work keep it up thanks for sharing the knowledge.Hydraulic elevators | home lifts

    ReplyDelete
  32. Amazing post, Thank you for presenting a wide variety of information that is very interesting to see in this article
    Vacuum Lifts In India

    ReplyDelete
  33. Nice blog ,The knowledge you provided is helpful for me
    Data Science Training In Hyderabad

    ReplyDelete

  34. You have provided very good information through blog and it is very important.
    Blockchain Training in Hyderabad

    ReplyDelete
  35. Wow!! Really a nice Article about Python. Thank you so much for your efforts. Definitely, it will be helpful for others. I would like to follow your blog. Share more like this. Thanks Again.
    Java training in chennai | Java training in annanagar | Java training in omr | Java training in porur | Java training in tambaram | Java training in velachery

    ReplyDelete
  36. Thanks for Sharing an Excellent Information's,Keep sharing. To enhance and explore the Technologies and languages visit the below and look towards more
    python training in chennai | python training in annanagar | python training in omr | python training in porur | python training in tambaram | python training in velachery

    ReplyDelete
  37. Thanks for the informative and helpful post, obviously in your blog everything is good..
    data scientist course in malaysia
    360DigiTMG

    ReplyDelete
  38. Here at this site really the fastidious material collection so that everybody can enjoy a lot.
    data scientist course in malaysia
    360DigiTMG

    ReplyDelete
  39. Wonderful post, i loved reading it.
    Share more
    Bluecoinsapp
    Otomachines
    Fairvote

    ReplyDelete
  40. I have to agree with the valid points you make in your article because I see things like you. Additionally, your content is interesting and really good reading material.
    SAP training in Mumbai
    Best SAP training in Mumbai
    SAP training institute Mumbai

    ReplyDelete
  41. I had to read this three times because I wanted to be sure on some of your points. I agree on almost everything here, and I am impressed with how well you wrote this article.
    SAP training in Kolkata
    Best SAP training in Kolkata
    SAP training institute in Kolkata

    ReplyDelete
  42. Your article has piqued my interest. This is definitely a thinker's article with great content and interesting viewpoints. I agree in part with a lot of this content. Thank you for sharing this informational material.


    SEO services in kolkata
    Best SEO services in kolkata
    SEO company in kolkata
    Best SEO company in kolkata
    Top SEO company in kolkata
    Top SEO services in kolkata
    SEO services in India
    SEO copmany in India

    ReplyDelete
  43. I was just browsing through the internet looking for some information and came across your blog. I am impressed by the information that you have on this blog. It shows how well you understand this subject. Bookmarked this page, will come back for more....digital marketing course bangalore

    ReplyDelete
  44. Wow it is really wonderful and awesome thus it is very much useful for me to understand many concepts and helped me a lot.

    SAP HCM Online Training

    SAP HCM Classes Online

    SAP HCM Training Online

    Online SAP HCM Course

    SAP HCM Course Online

    ReplyDelete
  45. Thank you for excellent article.

    Please refer below if you are looking for best Data Science Training in Hyderabad
    https://www.excelr.com/data-science-course-training-hyderabad

    ReplyDelete
  46. Nice blog. I finally found great post here Very interesting to read this article and very pleased to find this site. Great work!
    Data Science Training in Hyderabad

    ReplyDelete
  47. I have recently visited your blog profile. I am totally impressed by your blogging skills and knowledge.

    Dell Boomi Training in Bangalore

    Best Dell Boomi Training Institutes in Bangalore

    ReplyDelete
  48. After reading your article I was amazed. I know that you explain it very well. And I hope that other readers will also experience how I feel after reading your article.
    Data Analyst Course

    ReplyDelete
  49. I appreciate your efforts because it conveys the message of what you are trying to say. It's a great skill to make even the person who doesn't know about the subject could able to understand the subject . Your blogs are understandable and also elaborately described. I hope to read more and more interesting articles from your blog. All the best.

    Data Science Training Course In Chennai | Certification | Online Course Training | Data Science Training Course In Bangalore | Certification | Online Course Training | Data Science Training Course In Hyderabad | Certification | Online Course Training | Data Science Training Course In Coimbatore | Certification | Online Course Training | Data Science Training Course In Online | Certification | Online Course Training

    ReplyDelete
  50. Really nice and interesting post. I was looking for this kind of information and enjoyed reading this one. Keep posting. Thanks for sharing. Here i am also sharing a wonderful resource to buy best and <a href="https://www.autoxtools.com>cheap auto tools online </a> which can help your pet kids

    ReplyDelete
  51. Really nice and interesting post. I was looking for this kind of information and enjoyed reading this one. Keep posting. Thanks for sharing. Here i am also sharing a wonderful resource to buy best and cheap auto tools online which can help your pet kids

    ReplyDelete

  52. thanks for sharing such an amazing post
    https://www.krishnawellness.com/

    ReplyDelete
  53. Thanks a lot for sharing kind of information. Your article provide such a great information with good knowledge.You make me happy for sharing, in this post some special information.thanks.
    python training in bangalore

    python training in hyderabad

    python online training

    python training

    python flask training

    python flask online training

    python training in coimbatore

    ReplyDelete
  54. Thank you for sharing your article. Great efforts put it to find the list of articles which is very useful to know, Definitely will share the same to other forums.
    Java Training in Chennai

    Java Training in Bangalore

    Java Training in Hyderabad

    Java Training
    Java Training in Coimbatore

    ReplyDelete
  55. Wow!!Great post. Thanks for sharing this informative article. Keep it up.
    Rajasthan Budget Tours

    ReplyDelete
  56. I'm not one of those readers that comments on articles often, but yours really compelled me. There's a lot of interesting content in this article that is interesting and bold.


    GDPR Consulting Service

    ReplyDelete
  57. huuuh amazing, really it is a useful article, thanks for sharing. Real estate dubai

    ReplyDelete
  58. I am really happy to say it’s an interesting post to read . I learn new information from your article , you are doing a great job . Keep it up

    Devops Training in Hyderabad

    Hadoop Training in Hyderabad

    Python Training in Hyderabad

    ReplyDelete
  59. Thank you so much for shearing this type of post.
    This is very much helpful for me. Keep up for this type of good post.
    please visit us below
    data science training in Hyderabad

    ReplyDelete
  60. Hadoop is an open-source software framework for storing data and running applications on clusters of commodity hardware. It provides massive storage for any kind of data, enormous processing power and the ability to handle virtually limitless concurrent tasks or jobs.
    tally training in chennai

    hadoop training in chennai

    sap training in chennai

    oracle training in chennai

    ReplyDelete
  61. I surely acquiring more difficulties from each surprisingly more little bit of it ExcelR Data Analytics Courses

    ReplyDelete
  62. It is imperative that we read blog post very carefully. I am already done it and find that this post is really amazing. ExcelR Business Analytics Courses

    ReplyDelete
  63. I think this is a standout amongst the most critical data for me. What"s more, i"m happy perusing your article. Be that as it may, ought to comment on some broad things ExcelR Business Analytics Courses

    ReplyDelete
  64. Nice blog, Very interesting post
    https://socialprachar.com/data-science-training-in-bengaluru/

    ReplyDelete
  65. ExcelR provides Data Analytics courses. It is a great platform for those who want to learn and become a Data Analytics course. Students are tutored by professionals who have a degree in a particular topic. It is a great opportunity to learn and grow.


    Data Analytics courses

    ReplyDelete
  66. Information was good,i like your post.Looking forward for more on this topic.
    Mule soft training in bangalore

    ReplyDelete
  67. Nice to read this Article, Thanks for the nice information. Here I have a suggestion for the that if your looking for the Best Digital Marketing Course in Pitampura Then Join the 99 Digital Academy. 99 Digital Academy offers an affordable Digital Marketing Course in Pitampura. Enroll Today.

    ReplyDelete
  68. Nice to read this Article, Thanks for the nice information. Here I have a suggestion for the that if your looking for the Best Digital Marketing Course in Pitampura Then Join the 99 Digital Academy. 99 Digital Academy offers an affordable Digital Marketing Course in Pitampura. Enroll Today.

    ReplyDelete
  69. Thanks for one marvelous posting! I enjoyed reading it; you are a great author. I will make sure to bookmark your blog and may come back someday.
    I want to encourage that you continue your great posts.AWS certification course in Chennai

    ReplyDelete
  70. This was definitely one of my favorite blogs. Every post published did impress me.
    data scientist course in hyderabad

    ReplyDelete

  71. Thank you for excellent article.You made an article that is interesting. Hair Fall Control Hair Oil

    ReplyDelete
  72. https://hustoknow.blogspot.com/2010/10/inside-facebooks-javascript-sdk-code.html?showComment=1622535270618#c7757874917341940084

    ReplyDelete
  73. The writer is enthusiastic about purchasing wooden furniture on the web and his exploration about best wooden furniture has brought about the arrangement of this article.
    data scientist training and placement in hyderabad

    ReplyDelete
  74. I feel very grateful that I read this. It is very helpful and very informative and I really learned a lot from it.data science training in delhi

    ReplyDelete
  75. Thanks for posting the best information and the blog is very good.cloud computing course in kolkata

    ReplyDelete
  76. Just saying thanks will not just be sufficient, for the fantasti c lucidity in your writing. I will instantly grab your rss feed to stay informed of any updates. data scientist course in mysore

    ReplyDelete
  77. SV International Technologies Digital Marketing Agency served its clients in India and abroad with high quality and timely services. Internet marketing is the best part of most business models. Nowadays, the continuous and rapid revolution in the modern era’s advancement has made everything. Hence, people are fancy to use the Internet because of its reliability, speed, and performance. Internet users are increasing because marketers need to promote their products online competitively because of globalization. We are the Best Digital Marketing Agency in Chennai. We are here to help in your online presence.

    ReplyDelete
  78. Always so interesting to visit your site.What a great info, thank you for sharing. this will help me so much in my learning data science course in surat

    ReplyDelete
  79. I adore your websites way of raising the awareness on your readers. data scientist course in surat

    ReplyDelete
  80. This is a great inspiring article.I am pretty much pleased with your good work.You put really very helpful information... data scientist course in surat

    ReplyDelete
  81. I would recommend my profile is important to me, I invite you to discuss this topic... data analytics course in kanpur

    ReplyDelete
  82. You know your projects stand out of the herd. There is something special about them. It seems to me all of them are really brilliant! business analytics course in mysore

    ReplyDelete
  83. The information you have posted is very useful. The sites you have referred was good. Thanks for sharing. data science training in kanpur

    ReplyDelete
  84. You actually make it look so easy with your performance but I find this matter to be actually something which I think I would never comprehend. It seems too complicated and extremely broad for me. I'm looking forward for your next post, I’ll try to get the hang of it! data science training in kanpur

    ReplyDelete
  85. This post is so interactive and informative.keep update more information...
    Importance of Software Testing Tool
    Software Testing Tool

    ReplyDelete
  86. It is perfect chance to make a couple of game plans for the future and the opportunity has arrived to be sprightly. I've scrutinized this post and if I may I have the option to need to suggest you some interesting things or recommendations. Perhaps you could create next articles insinuating this article. I have to examine more things about it!

    ReplyDelete
  87. Writing with style and getting good compliments on the article is quite hard, to be honest.But you've done it so calmly and with so cool feeling and you've nailed the job. This article is possessed with style and I am giving good compliment. Best! data analytics course in mysore

    ReplyDelete
  88. I will be interested in more similar topics. i see you got really very useful topics , i will be always checking your blog thanks
    full stack developer course with placement

    ReplyDelete
  89. Very Informative and useful... Keep it up the great work. I really appreciate your post.
    It shows like you spend more effort and time to write this post

    https://bangaloredigitalmarketing.com/
    https://bangaloredigitalmarketing.com/digital-marketing-courses-in-bangalore/
    https://bangaloredigitalmarketing.com/seo-company-in-bangalore/
    https://bangaloredigitalmarketing.com/social-media-marketing-agency-in-bangalore/

    ReplyDelete
  90. This is exactly the information I'm looking for, I couldn't have asked for a simpler read with great tips like this... Thanks! business analytics course in mysore

    ReplyDelete
  91. This is my first time visiting here. I found so much entertaining stuff in your blog, especially its discussion. From the tons of comments on your articles, I guess I am not the only one having all the leisure here! Keep up the good work. I have been meaning to write something like this on my website and you have given me an idea.
    data science institutes in hyderabad

    ReplyDelete
  92. A good blog always comes-up with new and exciting information and while reading I have feel that this blog is really have all those quality that qualify a blog to be a one. data science training in surat

    ReplyDelete
  93. Extremely overall quite fascinating post. I was searching for this sort of data and delighted in perusing this one.
    Continue posting. A debt of gratitude is in order for sharing.
    data analytics course in kolhapur

    ReplyDelete
  94. For product research, the company requires a data analysis process to make better judgments for the growth of the business.

    ReplyDelete
  95. Fabulous content with a good amount of explanation. This blog covered the complete details on Search Engine Marketing in a given blog. What is SEM, their variety, differences between SEM and SEO, Tools used and a lot more. Visit -
    Search Engine Marketing

    ReplyDelete
  96. Informative post and thanks for sharing your knowledge here. Keep it up.
    You want to know more about Content writing course in Bangalore in order to boost your website, your career or your business? don't hesitate to navigate through this page.
    Content Writing Course in Bangalore

    ReplyDelete
  97. Excellent blog. Thank you for sharing.
    If anyone is keen on learning digital marketing. Here is one of the best courses offered by iimskills.
    Do visit - Digital Marketing Courses in Kuwait

    ReplyDelete
  98. Wow, you have written very informative content. Looking forward to reading all your blogs. If you want to read about Online SOP please click Online SOP

    ReplyDelete
  99. Hey Roger I must say that you have taken lot of efforts in researching how Facebook's JavaScript SDK is implemented and really you have noted down very precisely, keep posting more. And those who are searching for Digital Marketing Courses in Nigeria can refer the following blog, thank you.
    Digital marketing courses in Nigeria

    ReplyDelete
  100. Great article. Thanks for sharing Jscript insights. Very impressive and interesting. Keep sharing. If anyone wants to learn Digital Marketing, Please join the newly designed curriculum professional course on highly demanded skills required by top corporates. For more details, please visit
    Digital marketing courses in france

    ReplyDelete
  101. Nice blog. I really like the concept of showing Javascript SDK in facebook. Digital marketing courses in Agra

    ReplyDelete
  102. I was just examining through the web looking for certain information and ran over your blog.
    It shows how well you understand this subject.
    Bookmarked this page, will return for extra..

    PMP Training

    ReplyDelete
  103. This is by far one of the most engaging articles I have read in recent times. Just loved the quality of information provided and I must say you have noted down the points very precisely, keep posting more. Digital Marketing is now booming at a rapid pace, especially in Dubai, and many are now searching for the courses. So to ease their work I am leaving a link below for those who are searching for Digital Marketing courses in Abu Dhabi. All the best and keep learning, thank you.
    Digital Marketing Courses in Abu Dhabi

    ReplyDelete
  104. Good explanation about how Facebook's JavaScript SDK is implemented. Such a detailed work and the effort you put into this content will surely help anyone to better understand. Keep it up. We can not stop learning, for that reason we provide Digital Marketing Courses in Delhi to help people to understand the power of Digital marketing in the current time. Please click here to know more:
    Digital Marketing Courses in Delhi

    ReplyDelete
  105. Thank you blogger for such an informative blog. I must say the efforts put in by you to make this blog can be seen and effective.
    Digital marketing courses in Ghana

    ReplyDelete
  106. Impressive article! I really liked it. If anyone is interested in building a medical career but are struggling to clear medical entrance exams, Wisdom Academy is the right place to begin. It is one of Mumbai’s best NEET coaching institutes for students preparing for medical and other competitive-level entrance examinations. It offers comprehensive learning resources, advanced study apparatus, doubt-clearing sessions, mentoring, and much more. Enroll Now!
    NEET Coaching in Mumbai

    ReplyDelete
  107. The fact that the content on Facebook Javascript is creative made me read the article. Also, I learnt new ideas over here. Digital Marketing courses in Bahamas

    ReplyDelete
  108. Such a great effort you have invested to put it together. This topic is not easy to understand, but you have showed through this article how to to figure out how Facebook's JavaScript SDK is implemented. Really good work. Keep updating. We also provide an informational and educational blog about Freelancing. Nowadays, many people want to start a Freelance Career without knowing How and Where to start. People are asking:
    What is Freelancing and How Does it work?
    How to Become a Freelancer?
    Is working as a Freelancer a good Career?
    How much can a Freelancer earn?
    Can I live with a Self-Employed Home Loan?
    What Kind of Freelancing Jobs can I find?
    Which Freelancers Skills are required?
    How to get Freelance projects?
    How Do companies hire Freelancers?
    In our Blog, you will find a guide with Tips and Steps which will help you to take a good decision. Do visit the blog:
    What is Freelancing

    ReplyDelete
  109. The blog has great information. It's a great read for me, looking forward for updates.
    Digital marketing courses in Noida

    ReplyDelete
  110. Wonderful blog!!! the article which you have shared the code is informative for us... thanks for it... Professional Courses

    ReplyDelete
  111. The technical expertise you are imparting through this blog is really valued. Looking forward to more such blogs.
    Digital marketing courses in Nashik

    ReplyDelete
  112. Nice blog. I finally found great post here to know about how Facebook's JavaScript SDK is implemented. thanks for sharing great work. Digital marketing courses in Kota

    ReplyDelete
  113. Clear explanation with points and code. thanks for sharing your knowledge.
    Financial Modeling Courses in India

    ReplyDelete
  114. Thanks for sharing your curiosity with us about how Facebook's JavaScript SDK is implemented. You was able to figure out how this is done. Hoping this is now more comprehensive for learners. Keep updating. While people are looking for Best Digital Marketing Courses, we have set up a range of Digital Marketing Courses in Pune to allow people to attend courses which will meet their expectations. The Courses are ready-to-implement with constantly updated Curriculum, Practical-oriented Lessons, Interactive Classroom, Assignments and Case Studies, Master Certification, Affordable Pricing and Free Demo Session, Assistance for Placements and Internship. Ideal for Freshers and Job Seekers from any working area as well as Marketing Professionals. Small and Medium Business can also benefit hugely from the Digital Marketing Courses in Pune. Online Marketing Courses in Pune also available for Beginners, Intermediate and Advanced Learners. Start to learn today:
    Digital marketing courses in Pune

    ReplyDelete
  115. The JavaScript coding is really amazing and knowledgeable as a learning experience. Digital Marketing Courses in Faridabad

    ReplyDelete
  116. Truly a great content. Your blog narrated very well how JS is used very widely for various functions and calling procedures. Thanks very much for sharing such an informative article. If anyone wants to build his carrier in Digital Marketing then you must go through our curriculum which is designed very professionally with cutting edge of the current requirement of the corporates and based on market trends. You will be taught in a highly professional environment with practical assignments. You can decide your specialized stream your own way by understanding each subject in depth under the guidance of highly professional and experienced trainers. For more detail Please visit at
    Digital Marketing Courses in Austria

    ReplyDelete
  117. this JavaScript SDK code which i was looking for on google is found on this website which is well defined and written. thanks for sharing I finally found great post here Very interesting to read this article and very pleased to find this site. Great work! Digital marketing Courses in Bhutan

    ReplyDelete
  118. nice piece of coding, very helpful javascript .thanks for sharing it.
    Digital marketing courses in Raipur

    ReplyDelete
  119. Hi, Excellent and useful blog. The tutorial has been well formatted with each step well explained to help newbies to understand and follow. It was really helpful to me and many of the readers like me. Keep posting more of such excellent blogs.
    Data Analytics Courses In Kochi

    ReplyDelete
  120. This blog is very interesting which speaks about Inside Facebook's JavaScript SDK code... the writer have discussed some great points that makes it more fun and easier to learn about this topic. Digital Marketing Courses in Australia

    ReplyDelete
  121. Excellent blog on SDK implementation. It is interesting to know about the Facebook JS SDK framework. Your explanation of how JS code works is easy to understand. Thanks for this detail-oriented blog. Try to create a similar one with your KPI_Key in future. Keep updating more tech-related blogs in the future.
    Digital marketing courses in Nagpur

    ReplyDelete
  122. This comment has been removed by the author.

    ReplyDelete
  123. Extremely well written blog on Inside Facebook's JavaScript SDK code... I am impressed with all details included in this blog about the inside fakebook's java script. Thanks for sharing it with us. Keep Up the good work! Data Analytics Courses in Gurgaon

    ReplyDelete
  124. The technicalities on Facebook's JavaScript SDK code is much helpful for me and also I made a bookmark of this for future references. Data Analytics Courses in Delhi

    ReplyDelete
  125. Thanks for sharing this post. It's really interesting to see how Facebook's JavaScript SDK code works. I'm looking forward to seeing more posts like this in the future. Data Analytics Courses In Coimbatore

    ReplyDelete
  126. This is an amazing article which provides some great information related to Inside Facebook's JavaScript SDK code... I am really amazed with the information provided by the author, Its a really great help to all of the people who wants to know what's inside the facebook's javascript sdk code. Thanks for sharing keep up the good work. Digital Marketing Courses in Vancouver

    ReplyDelete
  127. This blog post on Inside Facebook's JavaScript SDK code is really intriguing. The author has brought up several excellent insights that make learning about this subject more enjoyable and simple.
    Data Analytics Courses in Ghana

    ReplyDelete
  128. Thanks for allowing us to understand facebook's javascript in Details, I appreciate you sharing this information. Thank you very much for this excellent material that you have supplied. And I hope that this will be helpful to a lot of people. I'm looking forward to your future post; please keep posting these kinds of informed things. Really, that article was fantastic. Very fascinating to read. 
    Data Analytics Courses in Mumbai

    ReplyDelete
  129. Amazing article. Thanks for sharing the "Facebook's JS SDK code" article. The step-by-step instructions on source code are easy to follow. I will implement it soon. Your tutorial will be handy for novices. Thanks once again. Keep sharing more tech articles. Courses after bcom

    ReplyDelete
  130. I appreciate you sharing this content. Observing the JavaScript SDK code for Facebook is quite intriguing. In the future, I hope to see more posts similar to this one.
    financial modelling course in kenya

    ReplyDelete
  131. Your writing changed the way I looked at this because of the content quality. I went and told all my friends about your article after I read it.thanks for sharing. keep it up.. Please check on this link - Content Writing Courses in Delhi

    ReplyDelete
  132. A highly informative article on JS SDK used in FaceBook. Very interesting and useful piece of content to learn the expertise about js. Thanks for sharing your great experience and hard work to produce a nice content. If anyone wants to learn Digital Marketing in, Please join the newly designed world-class industry-standard curriculum professional course which are highly demanded skills required by top corporates globally and other best courses as well. For more details, please visit
    Digital marketing Courses In UAE

    ReplyDelete
  133. Very informative article sharing javascript SDK Source code used in Facebook.. Data Analytics Courses In Vadodara 

    ReplyDelete
  134. Now I have a better understanding that how javascript source code works. Digital marketing courses in Varanasi

    ReplyDelete
  135. Very helpful post for programmers. Facebook javascript SDK is one of the good example to get understanding of the topic. Data Analytics Courses In Bangalore 

    ReplyDelete
  136. To be honest, I generally don’t read. But, this article caught my attention.The way you introduce every character in your article is so unique. Love that part. keep sharing.Please check once for more information. Data Analytics Courses In Indore

    ReplyDelete
  137. The topic is very technical, but I really appreciate your efforts for explaining this lengthy topic in such a clear and detailed manner. Looking forward for more related blogs.
    Data Analytics Courses In Nagpur

    ReplyDelete
  138. Wonderful post. I thank you for providing the info on Facebook's JS SDK code. This tutorial is fantastic. It is beneficial for a beginner like myself. I frequently read and follow your blog. You posted a handy article here. I value your efforts. Thank you, and continue to share articles. Financial modelling course in Singapore

    ReplyDelete
  139. After going through your article I simply want to say that this is also a well-written article with some good information which is also useful for the readers with so many learning ideas to take away from here. Data Analytics Courses in New Zealand

    ReplyDelete
  140. I enjoy discovering new stuff. I've been looking for information on this subject—the JavaScript SDK code inside Facebook—for the past few days. I'm happy to have discovered this fantastic blog. Gratitude for sharing!
    financial modelling course in bangalore

    ReplyDelete
  141. thanks for explaining Facebook javascript SDK code.it was really worth it. financial modelling course in gurgaon

    ReplyDelete
  142. Hello Roger,
    thank you for your post. I think you did a great job in detecting this secret, and then sharing it with us. As there are millions of facebook users, but few could think about that. data Analytics courses in thane

    ReplyDelete
  143. That is an awesome blog post. The content shared about "Inside Facebook's JavaScript SDK code" is exciting to read. A detailed explanation of "Rhino and JS Beautifier" are to the point. The JS shared is also challenging to follow. I appreciate your interest in bringing out FB's code. Thanks for giving links to the documentation and the JavaScript library. Overall this is a valuable blog and worth reading. Data Analytics courses in Leeds

    ReplyDelete
  144. What a helpful article about Inside Facebooks Javascript SDK Code. This article was quite interesting to read. I want to express my appreciation for your time and making this fantastic post.
    data Analytics courses in liverpool

    ReplyDelete
  145. The article about understandig the SDK code of Facebook is interesting. "The Facebook's Javascript," I never thought I would get to read the JS of the most popular social media platform. The descrption on "Minify" and what will happen if do not do it are beautifully pointed out. The arrays anf functions mentioned here are easy to understand. Thanks for sharing this awesome blog with us. Do keep posting more. Data Analytics courses in Glasgow

    ReplyDelete
  146. It was very much useful for me and because of your blog, and also I gained so many unknown technical with sample information and the way you have clearly explained is really fantastic. Also, if anyone is interested in learning more about Financial modelling course in Jaipur, then I would like to recommend you with this article on: financial modelling course in jaipur

    ReplyDelete