go to hell facebook
by andrewray
HTML
<script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>
<div data-role="page">
<div data-role="content">
<div rel="out">log out if you need to first</div>
<div rel="in">then click me</div>
</div>
</div>
CSS
div[rel] {
font-family:sans-serif;
padding:15px 30px;
border-radius:10px;
font-size:40px;
background:#eee;
margin:20px 10px 0 0;
cursor:pointer;
display:inline-block;
transition:all 0.5s;
border:1px solid #aaa;
}
.yay {
background:#0f0 !important;
color:#fff;
}
JavaScript
var $in = $('[rel="in"]');
$.getScript('//connect.facebook.net/en_US/all.js', function() {
FB.init({
appId: '65511680302',
xfbml: true,
cookie: true,
oauth: true
});
var promiseApi = function() {
var defer = $.Deferred(),
args = Array.prototype.slice.call(arguments || []);
args.push(function(response) {
// figure out if response is error..
var error, parsed, debug;
// obviously an error...
if(response && response.error) {
error = (response.error.message || response.error);
// maybe an error?
} else if ((response instanceof Array) && response[0].body) {
try {
if((parsed = $.parseJSON(response[0].body)).error) {
// try to grab the user friendly error message
// and scrub out the prefix code in parens
error = parsed.error.message;
}
} catch(e) {}
}
if(error) {
// print out url and code for error
debug = (args && args[0]) + ': ' + error;
window.onerror('Could not select facebook friends: ' + debug);
// return message with error code scrubbed out
defer.reject({ msg: error.replace(/\(.+\) /, '') });
} else {
defer.resolve(response);
}
});
FB.api.apply(FB, args);
return defer.promise();
};
var resolver = function() {
promiseApi('/me').then(function(a) {
$in.addClass('yay');
alert(a);
});
};
var login = function() {
$.get('http://www.google.com');
FB.login( resolver );
$.get('http://www.google.com');
};
$(document.body).on('click', '[rel="in"]', function(e) {
...