2
// @name facebook-apps-launcher
3
// @include http://apps.facebook.com/*/*
4
// @include https://apps.facebook.com/*/*
6
// @author WebApps Team
10
function isCorrectPage() {
11
if (!document.getElementById('pagelet_canvas_nav_content')) {
14
if (parent.document !== document) {
20
function urlToAppName(url) {
21
var tmp = 'apps.facebook.com/';
22
tmp = url.substr(url.indexOf(tmp) + tmp.length);
23
return tmp.substr(0, tmp.indexOf('/'));
26
function registerApp() {
27
var i, appName = window.location.pathname;
28
appName = appName.substr(1, appName.indexOf('/', 1) - 1);
30
var snapshot = document.evaluate('//div[@id="pagelet_canvas_nav_content"]/div/table/tbody/tr/td/div/div[@class="bookmark"]/a',
31
document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
32
var name, img, printableName;
33
for (i = 0; i < snapshot.snapshotLength; i++) {
34
var node = snapshot.snapshotItem(i);
35
name = urlToAppName(node.href);
37
if (name === appName) {
38
img = node.lastChild.src;
39
printableName = node.getAttribute('data-appname');
48
if (img && printableName) {
49
Unity.toDataURL(img, function (aResult, uri) {
50
Unity.init({ name: printableName,
52
homepage: 'http://apps.facebook.com/' + appName + '/',
60
if (isCorrectPage()) {
61
setTimeout(function retry() {
63
setTimeout(retry, 10000);