您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Shuffles every text on websites
- // ==UserScript==
- // @name WebShuffler
- // @namespace http://tampermonkey.net/
- // @version 0.2.2
- // @description Shuffles every text on websites
- // @author lxvdev
- // @license MIT
- // @match *://*/*
- // @grant none
- // ==/UserScript==
- (function() {
- 'use strict';
- // Function to shuffle all the text on the website
- function shuffleText(node) {
- if (node.nodeType === Node.TEXT_NODE) {
- let text = node.textContent.trim();
- if (text.length > 1) {
- let shuffledText = text.split('').sort(() => Math.random() - 0.5).join('');
- node.textContent = shuffledText;
- }
- } else if (node.nodeType === Node.ELEMENT_NODE) {
- node.childNodes.forEach(function(childNode) {
- shuffleText(childNode);
- });
- }
- }
- // Function to shuffle the page title
- function shuffleTitle() {
- let title = document.title.trim();
- if (title.length > 1) {
- let shuffledTitle = title.split('').sort(() => Math.random() - 0.5).join('');
- document.title = shuffledTitle;
- }
- }
- // Function for shuffling text that changed
- function handleMutations(mutationsList, observer) {
- mutationsList.forEach(mutation => {
- if (mutation.type === 'childList') {
- mutation.addedNodes.forEach(node => {
- if (node.nodeType === Node.TEXT_NODE || node.nodeType === Node.ELEMENT_NODE) {
- shuffleText(node);
- }
- });
- }
- });
- }
- // Checks if there is running observers
- function isObserverRunning() {
- return observer.takeRecords().length > 0;
- }
- const observer = new MutationObserver(handleMutations);
- observer.observe(document.body, { childList: true, subtree: true });
- // Starts observing for text changes
- function startObserver() {
- if (!isObserverRunning()) {
- observer.observe(document.body, { childList: true, subtree: true });
- }
- }
- // Starts observing and shuffles text if the tab gets focused again
- window.addEventListener('focus', () => {
- shuffleTitle();
- startObserver();
- shuffleText(document.body);
- });
- // Stops observing if the tab isn't focused
- window.addEventListener('blur', () => {
- observer.disconnect();
- });
- // Shuffles text on load
- window.onload = function() {
- shuffleTitle();
- shuffleText(document.body);
- };
- })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址