Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name Facebook unsponsored
- // @namespace http://tampermonkey.net/
- // @version 1.4.1
- // @description Block Facebook news feed "sponsored" posts
- // @author solskido
- // @match https://www.facebook.com/*
- // @run-at document-idle
- // ==/UserScript==
- /* jshint esnext: true */
- const streamSelector = 'div[id^="topnews_main_stream"]';
- const storySelector = 'div[id^="hyperfeed_story_id"]';
- const sponsoredSelector = 'uiStreamSponsoredLink';
- const MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
- let stream;
- let stories = [];
- let process = () => {
- // Locate the stream every iteration to allow for FB SPA navigation which
- // replaces the stream element
- stream = document.querySelector(streamSelector);
- if(!stream) {
- return;
- }
- stories = stream.querySelectorAll(storySelector);
- if(!stories.length) {
- return;
- }
- stories.forEach((story) => {
- const sponsored = story.getElementsByClassName(sponsoredSelector);
- if(sponsored.length) {
- story.remove();
- }
- });
- };
- const observer = new MutationObserver(process);
- observer.observe(document.querySelector("body"), {
- 'childList': true,
- 'subtree': true
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement