NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Facebook Fix Mobile // @namespace // @version 1.0.7 // @description Fix Ads, Links and Display of Facebook. // @include http://m.facebook.com/* // @include https://m.facebook.com/* // @grant GM_addStyle // @require https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js // @icon https://www.google.com/s2/favicons?domain=www.facebook.com // @copyright 2018+, Joeviocoe // @license MIT // @noframes // ==/UserScript== // Copyright (c) 2018, Joeviocoe // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are met: // // * Redistributions of source code must retain the above copyright notice, // this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above copyright notice, // this list of conditions and the following disclaimer in the documentation // and/or other materials provided with the distribution. // * Neither the name of Joeviocoe nor the names of its contributors // may be used to endorse or promote products derived from this software // without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE // POSSIBILITY OF SUCH DAMAGE. // /*jslint browser: true*/ /*global $, jQuery, alert*/ function Remove_Ads() { $('div#header-notices').remove(); $('#MStoriesTray').remove(); var links = []; links = $('h3:contains("Connect With Facebook"),h3:contains("People You May Know"),header:contains("Suggested"),h3:contains("Popular Across Facebook"),span:contains("Paid"),span:contains("Sponsored")'); if ( links.length > 0 ) { links.parents("div").siblings("h3").each(function(){ var text = $(this).get(0).outerText; console.log("Facebook Fix: Removing Ad from " + text); }); links.parents("article").remove(); } } function Fix_Links() { $('div.story_body_container').find('h4').css('height','22px').css('padding-top','2px').parent().closest('div').css('max-height','1200px');; $('div.story_body_container').find('header').next('div').css('white-space','normal'); $('a[href*="/messages/"][data-autoid]').attr('href','https://www.facebook.com/messages/?m2w').removeAttr('data-autoid').attr("target","_blank").attr("rel","noopener noreferrer"); var links = $('a[href*="l.php?u="],a[href*="?fbclid="],a[href*="?igshid="],[onmousedown],[data-lynx-mode],[data-lynx-uri]'); if ( links.length > 0 ) { console.log("Facebook Fix: Removing redirects on " + ( links.length ) + " URLs"); for ( var i = 0; i < links.length; i++ ) { var link = links[i]; if (link.hasAttribute("onmousedown") || link.hasAttribute("data-lynx-mode")) { link.removeAttribute("onmousedown"); link.removeAttribute("data-lynx-mode"); link.removeAttribute("data-lynx-uri"); if (link.removeEventListener) { link.removeEventListener("mousedown", link.onmousedown, false); } else if(link.detachEvent) { link.detachEvent("onmousedown", link.onmousedown); } } if (link.href.indexOf("igshid=") > -1) { link.setAttribute("href",decodeURIComponent(link.href).split("?igshid=")[0]); } if (link.href.indexOf("fbclid=") > -1) { link.setAttribute("href",decodeURIComponent(link.href).split("?fbclid=")[0]); } if (link.href.indexOf("attribution_link") > -1) { console.log(link.href); link.setAttribute("href","https://www.youtube.com/watch?v=" + decodeURIComponent(decodeURIComponent(link.href)).split("?v=")[1].split("&feature=")[0]); } if (link.href.indexOf("l.php?u=") > -1) { link.setAttribute("href","http" + decodeURIComponent(link.href).split("http").slice(-1)[0].split('&')[0]); } } } } function Fix_TextPics() { console.log("Fix"); $('div[style*="background-image:url(https://scontent"],[style*="background-color:rgba"]').each(function() { $(this).find('span').each(function() { $(this).css("cssText", "color: black; visibility: visible; font-size: 15px"); }); $(this).removeAttr("style"); }); } function run() { Remove_Ads(); Fix_Links(); Fix_TextPics(); } setTimeout( function() { window.addEventListener('click', function() { if ( counter === 0 ) { setTimeout (function() { run(); counter = 0; }, 500); } counter++; }); window.addEventListener('scroll', function() { if ( counter === 0 ) { setTimeout (function() { run(); counter = 0; }, 500); } counter++; }); var counter = 0; run(); },10);