您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
reload post content when like if post require like or medal
// ==UserScript== // @name Socialmediagirl reload posts liked // @namespace https://greasyfork.org/users/821661 // @match https://forums.socialmediagirls.com/* // @grant none // @version 1.0 // @run-at document-start // @author hdyzen // @description reload post content when like if post require like or medal // @license GPL-3.0-only // ==/UserScript== const hideText = 'You must React with a "Like" or "Medal" to view this content then Refresh the page'; function onClickLike(post, oldContent) { oldContent.innerHTML = ` <span style="width: 100%; text-align: center; font-size: 3rem; color: bisque; padding-block: 2rem;">Loading...</span> `; setTimeout(async () => { const res = await fetch(window.location.href); const resInText = await res.text(); const parser = new DOMParser(); const doc = parser.parseFromString(resInText, "text/html"); const newContent = doc.querySelector(`[data-content="${post.getAttribute("data-content")}"] .message-body .bbWrapper`); oldContent.replaceWith(newContent); }, 1); } function onLoaded() { const posts = document.querySelectorAll(".message[data-content]"); for (const post of posts) { const isHide = post.querySelector(".hidethanks")?.innerText === hideText; if (!isHide) continue; const likeButton = post.querySelector(".message-actionBar .reaction"); const oldContent = post.querySelector(".bbWrapper"); likeButton.addEventListener("click", () => onClickLike(post, oldContent)); } } document.addEventListener("DOMContentLoaded", onLoaded);