FB全部留言小幫手

Easy way to show all comments.

目前為 2024-04-28 提交的版本,檢視 最新版本

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

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

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         Facebook All Comments Helper
// @name:zh-TW   FB全部留言小幫手
// @name:zh-CN   FB全部留言小帮手
// @namespace    http://tampermonkey.net/
// @version      1.5
// @description  Easy way to show all comments.
// @description:zh-tw  讓您更快打開全部留言
// @description:zh-cn  让您更快打开全部留言
// @author       Xuitty
// @match        https://www.facebook.com/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=facebook.com
// @grant        none
// @license      MIT
// ==/UserScript==

const langs = {
	de: ["Relevanteste", "Top-Kommentare", "Am zutreffendsten"],
	en: ["Top comments", "Most relevant", "Most applicable"],
	es: ["Comentarios destacados", "Más relevantes", "Más pertinentes"],
	hu: ["A legfontosabb hozzászólások", "A legrelevánsabbak", "A témához leginkább illők"],
	ja: ["トップコメント", "関連度の高い順", "最も適切"],
	ko: ["관련성 높은 댓글", "참여도 높은 댓글", "적합성 높은 순"],
	fr: ["Plus pertinents", "Les meilleurs commentaires", "Les plus pertinents"],
	sk: ["Top komentáre", "Najrelevantnejšie", "Najvhodnejšie"],
	sl: ["Najbolj priljubljeni komentarji", "Najustreznejši", "Najustreznejše"],
	"zh-Hans": ["热门评论", "最相关", "最合适"],
	"zh-Hant": ["最熱門留言", "最相關", "最相關"],
};

function execute(e) {
	if (e.code !== "Insert" && e.type === "keydown") return;
	let node1;
	let fblang = document.getElementById("facebook").getAttribute("lang");
	let lang = langs[fblang] || langs.en;
	var headings = document.evaluate(
		"//span[text()='" + lang[0] + "' or text()='" + lang[1] + "' or text()='" + lang[2] + "']",
		document,
		null,
		XPathResult.ANY_TYPE,
		null
	);
	while ((node1 = headings.iterateNext())) {
		node1.click();
		setTimeout(() => {
			document.querySelectorAll('*[role="menuitem"]')[document.querySelectorAll('*[role="menuitem"]').length - 1].click();
		}, 100);
	}
}

(function () {
	"use strict";

	document.addEventListener("dblclick", execute);
	document.addEventListener("keydown", execute);
})();