Tieba Keyword Filter

依關鍵字摺疊樓層廣告

スクリプトをインストールするには、Tampermonkey, GreasemonkeyViolentmonkey のような拡張機能のインストールが必要です。

You will need to install an extension such as Tampermonkey to install this script.

スクリプトをインストールするには、TampermonkeyViolentmonkey のような拡張機能のインストールが必要です。

スクリプトをインストールするには、TampermonkeyUserscripts のような拡張機能のインストールが必要です。

このスクリプトをインストールするには、Tampermonkeyなどの拡張機能をインストールする必要があります。

このスクリプトをインストールするには、ユーザースクリプト管理ツールの拡張機能をインストールする必要があります。

(ユーザースクリプト管理ツールは設定済みなのでインストール!)

このスタイルをインストールするには、Stylusなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus などの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus tなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

(ユーザースタイル管理ツールは設定済みなのでインストール!)

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください
// ==UserScript==
// @name        Tieba Keyword Filter
// @namespace   eight04.blogspot.com
// @description 依關鍵字摺疊樓層廣告
// @include     http://tieba.baidu.com/*
// @version     0.1.0
// @grant       GM_addStyle
// @grant		GM_registerMenuCommand
// @grant		GM_getValue
// @grant		GM_setValue
// @require https://greasyfork.org/scripts/7212-gm-config-eight-s-version/code/GM_config%20(eight's%20version).js?version=156587
// ==/UserScript==

var keywords;

GM_config.setup(
	{
		keywords: {
			label: "關鍵字(一行一個)",
			type: "textarea",
			default: "jiaoyimao.com/goods\n广告"
		}
	},
	function(){
		keywords = GM_config.get("keywords").split("\n");
	}
);

GM_addStyle(".tkf-hidden{height: 10px; overflow:hidden;} #j_p_postlist > div:not(.l_post):not(#j_p_postlist){display:none;} #thread_list > li:not(.thread_top_list_folder):not(.j_thread_list){display: none;}");

function toggle() {
	this.classList.toggle("tkf-hidden");
}

function hide() {
	var posts = document.querySelectorAll(".l_post");

	for (let post of posts) {
		for (let keyword of keywords) {
			if (post.textContent.includes(keyword)) {
				post.classList.add("tkf-hidden");
				post.addEventListener("click", toggle);
				break;
			}
		}
	}
}

hide();

new MutationObserver(hide).observe(
	document.querySelector("#j_p_postlist"),
	{
		childList: true
	}
);