facebook.com - apps remover

By Kub4jz Last update 6 hours ago — Installed 1,445 times. Daily Installs: 4, 1, 2, 35, 79, 24, 14, 5, 8, 5, 8, 7, 6, 2, 1, 7, 3, 7, 4, 3, 5, 3, 2, 1, 2, 0, 3, 3, 3, 2, 3, 2

There are 12 previous versions of this script.

// ==UserScript==
// @name           facebook.com - apps remover
// @version        1.0
// @description    remove all apps stories from homepage
// @namespace      Kub4jz.cz
// @require        http://buzzy.hostoi.com/AutoUpdater.js

// @include        http://www.facebook.com/*home.php*
// ==/UserScript==

// = = = FILTERS = = =  //

var filters = new Array(
    'facebook.com/apps',
    'apps.facebook.com',
    'quiz.applatform.com',
    'Polaroid Photos',
    'Peugeot rodný list',
    'http://myfds.com/',
    'friend.ly'
);
// = = = = = = = = = = //

var script_id = 49344;
var script_version = '1.0';

var els = new Array(); var t; var stories_length_before;

function remove_external_stories() {

	for (var j = els.length-1; j >= 0; j--) {
		var el = document.getElementById(els[j]);
		if (el !== null) {
			el.parentNode.removeChild(el);
		}
	}

	var stories = document.getElementsByClassName("UIStoryAttachment");
	stories_length = stories.length;

    for (i = stories.length-1; i >= 0; i--) {
        var story = stories.item(i).parentNode;
        var html = story.innerHTML;

        for (filter in filters) {

            filter = filters[filter];
            if (html.indexOf(filter) > 0) {

                els.push(story.getAttribute('id'));
                story.parentNode.parentNode.removeChild(story.parentNode);
                break;

            }
        }
	}
    //document.getElementById('home_sidebar').innerHTML += 'apps remover, ';
	t = setTimeout(check_apps, 2000);
}

function check_apps() {

    stories_length = document.getElementsByClassName("UIStoryAttachment").length;

	if (stories_length != stories_length_before) {

        stories_length_before = stories_length;
        remove_external_stories();
    } else {
        t = setTimeout(check_apps, 2000);
    }
	
}

window.addEventListener("load", remove_external_stories, true);
window.addEventListener("scroll", function () { clearTimeout( t ); t = setTimeout( check_apps, 500 ) }, true);

autoUpdate (script_id, script_version);