Hide sponsored and shipped posts in facebook marketplace
当前为
// ==UserScript==
// @name Hide Shipped and Sponsored Items in Facebook Marketplace
// @icon https://www.google.com/s2/favicons?domain=facebook.com
// @version 1.0.1
// @description Hide sponsored and shipped posts in facebook marketplace
// @match *://*.facebook.com/marketplace/*
// @exclude *://*.facebook.com/marketplace/item*
// @grant none
// @author Russell Aaron Wright III
// @namespace AaronWright3.scripts
// @license MIT
// ==/UserScript==
// Options for the observer (which mutations to observe)
const config = { childList: true, attributes: true, subtree: true }
const isExternalURL = (url) => new URL(url).origin !== location.origin;
// Callback function to execute when mutations are observed
const callback = (mutationsList, observer) => {
{
let xpath = "//a[contains(@href,'li.facebook.com') or contains(@href,'l.facebook.com')]";
let matchingElement = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
if (matchingElement && matchingElement.closest("span")) {
try {
matchingElement.closest("span").parentNode.style.display = "none";
matchingElement.closest("span").remove();
}
catch(e) {
console.log(matchingElement);
}
}
}
{
let xpath = "//span[text()='Sponsored' or text()='Ships to you']";
let matchingElement = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
if (matchingElement) {
if (matchingElement.closest(".sonix8o1")) {
matchingElement.closest(".sonix8o1").parentNode.style.display = "none";
matchingElement.closest(".sonix8o1").remove();
} else if (matchingElement.closest("a")) {
matchingElement.closest("a").parentNode.style.display = "none";
matchingElement.closest("a").remove();
}
}
}
}
// Create an observer instance linked to the callback function and observe
new MutationObserver(callback).observe(document, config)
window.onLoad = function() {
callback()
}