facebook_js
facebook_js
is just a way for me to not have to deal with integrating Facebook Javascript SDK again by manually copy-paste all the necessary code. It also adds the required channel.html
link to the app with proper caching headers.
From this:
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
// init the FB JS SDK
FB.init({
appId : 'YOUR_APP_ID', // App ID from the App Dashboard
channelUrl : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel File for x-domain communication
status : true, // check the login status upon init?
cookie : true, // set sessions cookies to allow your server to access the session?
xfbml : true // parse XFBML tags on this page?
});
// Additional initialization code such as adding Event Listeners goes here
};
// Load the SDK's source Asynchronously
// Note that the debug version is being actively developed and might
// contain some type checks that are overly strict.
// Please report such bugs using the bugs tool.
(function(d, debug){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all" + (debug ? "/debug" : "") + ".js";
ref.parentNode.insertBefore(js, ref);
}(document, /*debug*/ false));
</script>
To this:
= facebook_js
Turbolinks Support
To use facebook_js
with turbolinks, you should insert facebook_js
within the <head>
section.
= facebook_js turbolink: true
Installation
In your Gemfile, add gem 'facebook_js'
, then, bundle install
.
Configurations
First, you have to create a file named facebook_js.rb
under your config/initializers/
directory.
FacebookJs.app_id = '12345' # Facebook app id (required)
FacebookJs.domain = 'localhost:3000' # the domain to be used to locate your `/channel.html` file (required)
FacebookJs.locale = 'en_US' # supported locale (optional)
FacebookJs.status = true # check the login status upon init? (optional)
FacebookJs.cookie = true # set sessions cookies to allow your server to access the session? (optional)
FacebookJs.xfbml = true # parse XFBML tags on this page? (optional)
FacebookJs.debug = !Rails.env.production? # to start the FB JS script in debug mode (optional)
Check out the list of available locales on Facebook here.
Usage
Once you have the gem installed, you should have the convenient facebook_js
hepler. On your layout, just use:
= facebook_js
If you want to have additional initialization code, just do this:
= facebook_js do
// javascript
alert('Hello, world!!!');
##License
MIT License. See LICENSE for details.