FFixer

By Vaughan Chandler Last update Mar 9, 2011 — Installed 14,797,266 times.

Remove Facebook Logo and Home Page Introduction Jibberish

in
Subscribe to Remove Facebook Logo and Home Page Introduction Jibberish 6 posts, 3 voices



Perplexed Guide User

I was wondering if you could add this as a feature to Facebook Fixer?

I have figured out how to do this using Platypus in coordination with Greasemonkey but I have NO idea how to publish a Greasemonkey Script, I thought it would be easier to add it to Facebook Fixer.

Here is the script written using Platypus:

// ==UserScript==
// @name Platypus-www.facebook.com/home.ph
// @namespace Platypus
// @include http://www.facebook.com/home.php?ref=logo
// ==/UserScript==
function do_platypus_script() {
smart_remove(window.document,document.evaluate('/HTML[1]/BODY[1]/DIV[4]/DIV[1]/DIV[2]/DIV[1]/DIV[1]/DIV[1]/DIV[1]', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue,null,null,null);
smart_remove(window.document,document.evaluate('/HTML[1]/BODY[1]/DIV[4]/DIV[1]/DIV[1]/DIV[1]/DIV[1]/UL[1]/LI[1]/A[1]/SPAN[1]', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue,null,null,null);
}; // Ends do_platypus_script
window.addEventListener("load", function() { do_platypus_script() }, false);
var gplatypusBundle = Components.classes["@mozilla.org/intl/stringbundle;1"].getService(Components.interfaces.nsIStringBundleService);
var mystrings = gplatypusBundle.createBundle("chrome://platypus/locale/platypusCore.properties");
var platypusplatypuscouldntfi1 = mystrings.GetStringFromName("platypusplatypuscouldntfi1");
var platypusthisusuallyhappens = mystrings.GetStringFromName("platypusthisusuallyhappens");

//
// Mon Dec 19 15:59:37 2005 -- Scott R. Turner
// Short, uncommented file containing all the code to implement Platypus
// actions. Can be "included" into the Platypus script.
//
//
//
function walk_down(node, func) {
if (node.nodeType == 1) {
if (node.tagName != "IMG") func(node);
if (node.childNodes.length != 0)
for (var i=0; i<node>
walk_down(node.childNodes.item(i),func);
}
}
function make_bw(doc, node) {
walk_down(node,
function (node) {
if (node.tagName != 'A') {
node.bgcolor = "white";
node.color = "black";
node.style.backgroundColor = "white";
node.style.color = "black";
node.style.backgroundImage = "";
}});
}
function center_it(doc, node) {
var center_node = doc.createElement ("CENTER");
node.parentNode.insertBefore(center_node, node);
node.parentNode.removeChild(node);
center_node.appendChild(node);
return center_node;
};
function erase_it(doc, node) {
var offset_height = node.offsetHeight;
var offset_width = node.offsetWidth;
var replacement_div = doc.createElement ("DIV");
replacement_div.setAttribute('style',
"height: "+offset_height+"; width: "+offset_width+";");
node.parentNode.insertBefore(replacement_div, node);
node.style.display = "none";
return replacement_div;
};
function smart_remove(doc, node) {
if (node.parentNode.childNodes.length == 1) {
smart_remove(doc, node.parentNode);
} else {
remove_it(doc, node);
};
};
function remove_it(doc, node) {
if (doc == null || node == null) return;
if (!node.parentNode) return;
node.style.display = "none";
doc.last_removed_node = node;
};
function script_paste(doc, where, what) {
var new_node = what.cloneNode(true);
new_node.style.display = "";
where.parentNode.insertBefore(new_node, where);
};
function isolate(doc, node) {
if (!node.parentNode) return;
node.parentNode.removeChild(node);
while (doc.body.childNodes.length > 0) {
doc.body.removeChild(doc.body.childNodes[0]);
};
var replacement_div = doc.createElement ("DIV");
replacement_div.setAttribute('style',
"margin: 0 2%; text-align: left");
replacement_div.appendChild(node);
doc.body.appendChild(replacement_div);
};
function set_style_script(doc, element, new_style) {
element.setAttribute('style', new_style);
};
function modify_single_url(doc, match_re, replace_string, node) {
if (node.href) {
node.href = node.href.replace(match_re, replace_string);
};
};
function do_modify_url_it(doc, node, match_re, replace_string, global_flag) {
match_re = new RegExp(match_re);
if (global_flag) {
var allurls = doc.getElementsByTagName('A');
for(var i = 0, url; url = allurls[i]; i++)
modify_single_url(doc, match_re, replace_string, url);
} else {
modify_single_url(doc, match_re, replace_string, node);
};
};
function do_modify_html_it(doc, element, match_re, replace_string) {
match_re = new RegExp(match_re);
if (element.innerHTML) {
element.innerHTML = element.innerHTML.replace(match_re, replace_string);
};
};
function relax(doc, node) {
walk_down(node, function (node) {
node.style.width = 'auto';
node.style.marginLeft = '0pt';
node.style.marginRight = '0pt';
if (node.width) node.width = null; });
}
function fix_page_it(doc, node) {
doc.background = null;
doc.bgColor = "white";
if (doc.style) {
doc.style.backgroundColor = "white";
doc.style.backgroundImage = "none";
if (doc.style.color == "white") {
doc.style.color = "black";
};
if (doc.text == "white") {
doc.text = "black";
};
};
doc.body.background = null;
doc.body.bgColor = "white";
if (doc.body.style) {
doc.body.style.backgroundColor = "white";
doc.body.style.backgroundImage = "none";
if (doc.body.style.color == "white") {
doc.body.style.color = "black";
};
if (doc.body.text == "white") {
doc.body.text = "black";
};
};
};
function insertAfter(newNode, target) {
var parent = target.parentNode;
var refChild = target.nextSibling;
if(refChild != null)
parent.insertBefore(newNode, refChild);
else
parent.appendChild(newNode);
};
function html_insert_it(doc, element, new_html, before, insert_as_block) {
var new_element;
if (insert_as_block) {
new_element = doc.createElement ("DIV");
} else {
new_element = doc.createElement ("SPAN");
};
new_element.innerHTML = new_html;
if (before) {
element.parentNode.insertBefore(new_element, element);
} else {
insertAfter(new_element, element);
};
};
function auto_repair_it(doc, node) {
Dump("In auto_repair_it...");
var biggest_elem = find_biggest_elem(doc);
Dump("biggest_elem = "+biggest_elem);
isolate(doc, biggest_elem);
Dump("After isolate.");
relax(doc, biggest_elem);
Dump("After relax.");
make_bw(doc, biggest_elem);
Dump("After make_bw.");
fix_page_it(doc, biggest_elem);
Dump("After fix_page_it.");
};
function find_biggest_elem(doc) {
const big_element_limit = 0.25;
var size_of_doc = doc.documentElement.offsetHeight *
doc.documentElement.offsetWidth;
var body = doc.body;
var size_of_body = body.offsetHeight * body.offsetWidth;
if (size_of_body < (0.80 * size_of_doc)) {
size_of_body = size_of_doc;
};
var max_size = 0;
var max_elem = doc;
/*
var allElems = doc("//*",
doc, null,
XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
null);
Dump("allElems = "+allElems);
Dump("allElems.snapshotLength = "+allElems.snapshotLength);
for (var i = 0; i < allElems.snapshotLength; i++) {
var thisElem = allElems.snapshotItem(i);
*/

var allElems = doc.getElementsByTagName("*");
Dump("allElems = "+allElems);
Dump("allElems.snapshotLength = "+allElems.length);
for (var i = 0; i < allElems.length; i++) {
var thisElem = allElems[i];
var thisElem_size = thisElem.offsetHeight * thisElem.offsetWidth;

if (thisElem_size < size_of_body &&
thisElem_size > max_size &&
!contains_big_element(thisElem, size_of_body * big_element_limit)) {
max_size = thisElem_size;
max_elem = thisElem;
};
};
Dump("Max elem = "+max_elem.tagName);
return max_elem;
};

function contains_big_element(node, limit) {
if (node.childNodes.length != 0)
for (var i=0; i<node>
var child = node.childNodes.item(i);
var child_size = child.offsetHeight * child.offsetWidth;
if (child_size > limit) return true;
};
return false;
};

function platypus_do(win, func_name, o, other, other2, other3) {
var func = eval(func_name);
var doc = null;
if (func == null) return;
if (!o) {
Warning(platypusplatypuscouldntfi1+
func_name+platypusthisusuallyhappens);
};
doc = win.document;
func(doc, o, other, other2, other3);
};

//.user.js

Thanks in advance.

 
Vaughan Chan... Script's Author

That's a lot of code...

Could you explain exactly what it does and I'll see if it's something that should be added to the script. Is it just removing the blue bar on the top?

 
Perplexed Guide User

Two pictures are worth a thousand words, I think this will clarify what I mean:

Before:

http://img9.imageshack.us/img9/4049/beforeimage...

After:

http://img12.imageshack.us/img12/3643/removesfa...

 
Vaughan Chan... Script's Author

Actually the easiest way to hide the logo would probably be with Adblock Plus. You can just right click on the image, select "Adblock image" and then select the option for blocking 'http://b.static.ak.fbcdn.net/images/menubar/fb_menubar_logo-ltr.gif'. This would also the better way to block it since you would never see the logo at all - with a Greasemonkey script you would see it while the page is loading cause the scripts don't run immediately.

As for the introduction part, I don't think I've ever seen that. Maybe Facebook has an option to disable it? Or if you've recently joined Facebook maybe it stays there for a while.

 
AL bino User

I would think the introduction stuff being referred to is removed by hovering and clicking an X that appears in the top right? I don't recall ever seeing it either -- but probably because the day it showed up I immediately killed it by closing it.

 
Perplexed Guide User

@Vaughan Actually Platypus does a much nicer job then Adblock Plus.

@ AL bino That would be very nice if the "X" upon hover actually existed...it does not exist. Again, Platypus appears to be the best solution overall for this also.

Cross
Presentational HTML allowed.
Use <code> for inline code and <pre> for code blocks. Use &lt; and &gt; for literal < and >.
We help break paragraphs and link your links.
or cancel