您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Hides Bluesky Search posts containing external links.
当前为
- // ==UserScript==
- // @name Bluesky Search External Link Filter
- // @namespace https://bsky.app/
- // @version 1.0
- // @description Hides Bluesky Search posts containing external links.
- // @match https://bsky.app/search*
- // @grant none
- // ==/UserScript==
- (function () {
- function getElementsByXPath(xpath, context = document) {
- let nodes = document.evaluate(xpath, context, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
- return Array.from({ length: nodes.snapshotLength }, (_, i) => nodes.snapshotItem(i));
- }
- function isExternalLink(link) {
- return link && !link.href.includes("bsky.app");
- }
- function checkAndHidePosts() {
- getElementsByXPath("//div[@id='root']/div/div/div/div/main/div/div/div/div/div/div[2]/div[3]/div/div/div/div/div[2]/div/div")
- .forEach(post => {
- if ([...post.getElementsByTagName("a")].some(isExternalLink)) {
- if (post.parentElement) post.style.display = "none"; // Hide instead of removing
- }
- });
- }
- function observeContainer() {
- let container = document.querySelector("main div div div div div div:nth-child(3)");
- if (container) {
- new MutationObserver(checkAndHidePosts).observe(container, { childList: true, subtree: true });
- checkAndHidePosts();
- }
- }
- new MutationObserver(observeContainer).observe(document.body, { childList: true, subtree: true });
- observeContainer();
- })();