facebook-adblock / facebook_adblock

An open-source Ad Blocker for Facebook™
GNU General Public License v3.0
214 stars 42 forks source link

Suggested for You #62

Open Leibeun opened 4 years ago

Leibeun commented 4 years ago

The extension successfully removes ads and sponsored posts, however the "Suggested for You" posts remain.

cbotsikas commented 4 years ago

The "Suggested for you" posts are not considered to be ads, thus the extension doesn't remove them. Here's the explanation by the owner.

Maybe there could be a simple settings menu to allow blocking those posts too.

ajsnyde commented 4 years ago

"Suggested for you", while automatically curated and not technically paid-for, are an unwelcome and non-disableable content. Similar to the youtube end-of-video pop-ups suggesting other videos (gotta keep that dopamine cycle up), nobody really asked for them and they block the real reason you use the service.

Argument aside, does anyone know of a branch or fork with the ability to block them?

cbotsikas commented 4 years ago

I still have my initial commit which was blocking the "suggested for you" posts on the classic facebook design. The branch is outdated and breaking facebook's feed. It was written before the launch of new FB5 design.

If @tiratatp would agree on that, I could try creating a simple options menu to enable/disable the "suggested for you" posts. If so, please reopen this issue to keep track of the status. There's no rush or time schedule for that so don't expect it within a few days.

tiratatp commented 4 years ago

"Suggested for you", while automatically curated and not technically paid-for, are an unwelcome and non-disableable content. Similar to the youtube end-of-video pop-ups suggesting other videos (gotta keep that dopamine cycle up), nobody really asked for them and they block the real reason you use the service.

Desirability of "suggested" posts is a subjective thing. I do not intend to make this decision for everyone.

I still have my initial commit which was blocking the "suggested for you" posts on the classic facebook design. The branch is outdated and breaking facebook's feed. It was written before the launch of new FB5 design.

If @tiratatp would agree on that, I could try creating a simple options menu to enable/disable the "suggested for you" posts. If so, please reopen this issue to keep track of the status. There's no rush or time schedule for that so don't expect it within a few days.

If it's an opt-in option for this, then I'm okay with it.

Is it easy to block? I'd imagine it would be easy enough since this is not a sponsored post, maybe we can use a plain CSS to block.

tiratatp commented 4 years ago

@ajsnyde you are welcome to submit a pull request too.

Robertof commented 4 years ago

Hey, thank you for the great work on maintaining this extension!

FWIW I looked at how the "Suggested for you" posts are represented in FB5's DOM and it's a bit of a mess. I've found that matching the text is effective but it would obviously require a list of translated strings like there currently is for sponsored posts.

This is the uBlock Origin rule I'm currently using at the moment which works:

www.facebook.com##div[data-pagelet^="FeedUnit_"]:has(span[dir="auto"]:first-of-type:has-text(/^Suggerit[ao] per te$/))

As I said above though, the translation needs to be adapted to whatever language your FB is using.

ajsnyde commented 4 years ago

Desirability of "suggested" posts is a subjective thing. I do not intend to make this decision for everyone.

Never meant to have that functionality mandatory. Opt-in, of course.

privacyguy123 commented 4 years ago

Hey, thank you for the great work on maintaining this extension!

FWIW I looked at how the "Suggested for you" posts are represented in FB5's DOM and it's a bit of a mess. I've found that matching the text is effective but it would obviously require a list of translated strings like there currently is for sponsored posts.

This is the uBlock Origin rule I'm currently using at the moment which works:

www.facebook.com##div[data-pagelet^="FeedUnit_"]:has(span[dir="auto"]:first-of-type:has-text(/^Suggerit[ao] per te$/))

As I said above though, the translation needs to be adapted to whatever language your FB is using.

How to include the commit that blocks these posts too? I mean, nobody wants to see them lol.

pa28236 commented 3 years ago

I'd be extremely happy if this was an option to block or not block. For me, I will block! These "Suggested for you" posts are extremely invasive!

DeeKey commented 3 years ago

An option to block "Sug. you" posts would be just great! Too annoying to see!!!

haidang666 commented 3 years ago

Hey, thank you for the great work on maintaining this extension!

FWIW I looked at how the "Suggested for you" posts are represented in FB5's DOM and it's a bit of a mess. I've found that matching the text is effective but it would obviously require a list of translated strings like there currently is for sponsored posts.

This is the uBlock Origin rule I'm currently using at the moment which works:

www.facebook.com##div[data-pagelet^="FeedUnit_"]:has(span[dir="auto"]:first-of-type:has-text(/^Suggerit[ao] per te$/))

As I said above though, the translation needs to be adapted to whatever language your FB is using.

we can create an UI to input the text to match so users can do the translation by themselves.

ssi-anik commented 3 years ago

Doesn't seem to remove the sponsored ads! Shows very often. image

alundiak commented 3 years ago

If anyone asks me, I would vote for blocking "Suggested for You" items. I realize, it's not ad per se, but it's not what I may need to be suggested. So anything I don't expect to be my action, I always treat as invasive as ad.

alex-quiniou commented 3 years ago

Hey, thank you for the great work on maintaining this extension!

FWIW I looked at how the "Suggested for you" posts are represented in FB5's DOM and it's a bit of a mess. I've found that matching the text is effective but it would obviously require a list of translated strings like there currently is for sponsored posts.

This is the uBlock Origin rule I'm currently using at the moment which works:

www.facebook.com##div[data-pagelet^="FeedUnit_"]:has(span[dir="auto"]:first-of-type:has-text(/^Suggerit[ao] per te$/))

As I said above though, the translation needs to be adapted to whatever language your FB is using.

I have tried. No sucess. Is it working today with the new visual change on Facebook ?

RedRelay commented 3 years ago

I have recently shared a post about micro-dosing in US and damage it create in workplace. Since, facebook suggest me to buy "micro-dosing starter kit" thought the suggest post. Fortunately I haven't shared pedo scandals, since I don't want to have suggestion to buy a pedo starter kit. Well, this is my personnal experience on Facebook. Do you still think desirability of theses posts is "subjective" ? I don't think so. No offense at all in my comment ;) I think the best way is to let the user choose. I will made a pull request if I found time this week

daslicht commented 3 years ago

sponsored ads are also displayed, eg:

StephanRaab commented 2 years ago

@alex-quiniou

It worked for me in ublock origin, once I changed the text to my language. Did you change it to French for your facebook language?

skwzrd commented 1 year ago

I am using the following script to remove "Suggested for you" and "Reels and short videos" feeds.

function getParentElement(element, level = 1) {
    while (level-- > 0) {
      element = element.parentElement;
      if (!element) return null;
    }
    return element;
}

function hideJunk(){
  var spans = document.querySelectorAll('span');

  for (var i = 0; i < spans.length; i++) {
      if (spans[i].textContent === 'Suggested for you') {
        getParentElement(spans[i], 6).hidden = true;
      }
      else if (spans[i].textContent === 'Reels and short videos') {
        getParentElement(spans[i], 6).hidden = true;
      }
  }
}

setInterval(hideJunk, 500); // hide posts as they are generated