您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Sort RHS in Google
// ==UserScript== // @name Google RHS Order // @namespace Violentmonkey Scripts // @match https://www.google.*/* // @version 1.1.1 // @license MIT // @author Benature // @description Sort RHS in Google // @grant GM_setValue // @grant GM_getValue // @grant GM_registerMenuCommand // @icon https://www.google.com/images/branding/googleg/1x/googleg_standard_color_128dp.png // @homepageURL https://github.com/Benature // ==/UserScript== (function() { 'use strict'; // 定义默认设置 const defaultSettings = { substrings: ['Obsidian', 'cubox', 'diigo', 'c4g', 'monica'] }; // 读取用户设置 const settings = GM_getValue('userSettings', defaultSettings); // 注册(不可用)菜单命令以允许用户更改设置 GM_registerMenuCommand('Change Substrings', function() { console.log('substrings: ', settings.substrings); // 这里可以添加代码来弹出一个对话框,让用户输入新的子字符串 // 例如,使用prompt()函数来获取用户输入 const newSubstrings = prompt('Enter new substrings (comma-separated):', settings.substrings.join(', ')); // 保存新的设置 GM_setValue('userSettings', { substrings: newSubstrings.split(',').map(sub => sub.trim()) }); // 重新加载脚本以应用新的设置 GM_notification('Substrings updated.', 'Substrings have been updated. Please reload the page to apply changes.'); }); // 自定义排序函数 function customSort(a, b) { const substrings = settings.substrings; // 获取子元素的ID var aId = a.id; var bId = b.id; // 检查子元素的ID是否包含子字符串 var aMatches = substrings.filter(sub => aId.includes(sub)); var bMatches = substrings.filter(sub => bId.includes(sub)); console.log(a, b) console.log(aMatches, bMatches) // 如果a和b都包含子字符串,比较子字符串的索引 if (aMatches.length && bMatches.length) { var aIndex = substrings.indexOf(aMatches[0]); var bIndex = substrings.indexOf(bMatches[0]); // 如果索引相同,比较ID的自然顺序 if (aIndex === bIndex) { return aId.localeCompare(bId); } return aIndex - bIndex; } // 如果a包含子字符串而b不包含,a在前 if (aMatches.length && !bMatches.length) { return -1; } // 如果b包含子字符串而a不包含,b在前 if (!aMatches.length && bMatches.length) { return 1; } // 如果都不包含子字符串,比较ID的自然顺序 return aId.localeCompare(bId); } function sortChildrenById(containerId) { // 获取包含子元素的div var container = document.getElementById(containerId); // 检查div是否存在 if (container) { // 获取所有具有id属性的子元素 // var childrenWithId = Array.from(container.querySelectorAll('[id]')); var childrenWithId = Array.from(container.children).filter(child => child.id); // 只获取有id的子元素 // 移除所有子元素 container.innerHTML = ''; // 根据ID对子元素进行排序 childrenWithId.sort(customSort); // 重新插入排序后的子元素 childrenWithId.forEach(function(child) { container.appendChild(child); }); } } // 等待DOM完全加载后再运行排序函数 function waitForDomReady() { // 检查DOM是否已经加载完成 if (document.readyState === 'complete') { // 如果DOM已经加载完成,执行排序函数 sortChildrenById('rhs'); } else { // 如果DOM还未加载完成,等待100ms后再次检查 setTimeout(waitForDomReady, 100); } } // 开始等待DOM加载 waitForDomReady(); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址