Last active
December 28, 2015 03:39
-
-
Save omundy/7437149 to your computer and use it in GitHub Desktop.
How Facebook ranks all your friends bookmarklet (modified from Arjun Sreedharan's)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
javascript: (function () { | |
function creator(e, t, n) { | |
var r = document.createElement(n); | |
var att = document.createAttribute("style"); | |
att.value = "max-width:120px"; | |
r.setAttributeNode(att); | |
var i = document.createTextNode(t); | |
r.appendChild(i); | |
e.appendChild(r); | |
} | |
function attribute(e, t, n, a) { | |
var td = document.createElement("td"); | |
var r = document.createElement(n); | |
var att = document.createAttribute(a); | |
att.value = t; | |
r.setAttributeNode(att); | |
td.appendChild(r); | |
e.appendChild(td); | |
} | |
function map(OldValue) { | |
var OldMin = .3; | |
var OldMax = .5; | |
var NewMin = 600; | |
var NewMax = 2; | |
var OldRange = (OldMax - OldMin); | |
var NewRange = (NewMax - NewMin); | |
var NewValue = (((OldValue - OldMin) * NewRange) / OldRange) + NewMin; | |
return NewValue; | |
} | |
function displayData(e) { | |
var t = document.createElement("table"); | |
var n = document.createElement("thead"); | |
t.appendChild(n); | |
var r = document.createElement("tr"); | |
creator(r, "Photo", "th"); | |
creator(r, "Name", "th"); | |
creator(r, "Score", "th"); | |
creator(r, "Bar", "th"); | |
n.appendChild(r); | |
var s = document.createElement("tbody"); | |
t.appendChild(s); | |
for (i = 0; i < e.length; i++) { | |
var r = document.createElement("tr"); | |
attribute(r, e[i]["photo"], "img", "src"); | |
creator(r, e[i]["text"], "td"); | |
creator(r, JSON.stringify(e[i]["grammar_costs"]["{user}"]), "td"); | |
if (e[i]["grammar_costs"]["{user}"] > 0) { | |
attribute(r, "width:" + map(Number(String(e[i]["grammar_costs"]["{user}"]))) + "px", "div", "style"); | |
} | |
/*creator(r, JSON.stringify(e[i]), "td");*/ | |
s.appendChild(r) | |
} | |
document.body.innerHTML = "<style>img{max-width:30px;}div{height:20px;background-color:#3B5998;}</style>"; | |
document.body.appendChild(t) | |
} | |
id = requireDynamic("Env").user; | |
url = "//www.facebook.com/ajax/typeahead/search/facebar/bootstrap/?viewer=" + id + "&__a=1"; | |
x = new XMLHttpRequest; | |
x.onreadystatechange = function () { | |
if (x.readyState == 4 && x.status == 200) { | |
srr = JSON.parse(x.responseText.substring(9)).payload.entries; | |
displayData(srr) | |
} | |
}; | |
x.open("GET", url, true); | |
x.send() | |
})() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment