您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Old google results is better
// ==UserScript== // @name OldGoogleIsBetter // @namespace google // @version 0.1 // @description Old google results is better // @author PINHOf // @license MIT // @supportURL https://github.com/PINHOf/OldGoogleIsBetter // @match https://*.google.com/search?* // @include /^https?://(?:www|encrypted|ipv[46])\.google\.[^/]+/(?:$|[#?]|search|webhp)/ // @grant none // @run-at document-start // ==/UserScript== (function() { 'use strict'; var prevResultCount = 0; var bettered = false; checkElementThenRun('#rcnt', run); // Loops through all the results rows & watches for changes in the main div // Function extracted from https://github.com/aligo/better-google function run() { if (prevResultCount != document.querySelectorAll('.MjjYud').length) { document.querySelectorAll('.MjjYud').forEach(row); prevResultCount = document.querySelectorAll('.MjjYud').length; } if (!bettered) { if (MutationObserver != undefined) { var searchEl = document.getElementById('rcnt'); var observer = new MutationObserver(run); observer.observe(searchEl, {childList: true, subtree: true}); } bettered = true; } } // Checks if certain element exists and runs the function associated // Function extracted from https://github.com/aligo/better-google function checkElementThenRun(selector, func) { var el = document.querySelector(selector); if (el != null) { func(); return; } if (window.requestAnimationFrame != undefined) window.requestAnimationFrame(function(){ checkElementThenRun(selector, func)}); else { document.addEventListener('readystatechange', function(e) { if (document.readyState == 'complete') func(); }); } } // Formats the row / result to the old style function row(el) { const url = getUrl(el); removeHeaderInformation(el); removeUnnecessaryLineBreak(el); adjustTitleMargin(el); appendUrlAfterTitle(el, url); } // Extracts the URL from the <a href> result function getUrl(el) { const linkEl = el.querySelector('a'); const url = linkEl ? linkEl.getAttribute('href') : ''; return url; } // Removes the header information (icon; url; three dots; etc) function removeHeaderInformation(el) { el.querySelectorAll('.TbwUpd').forEach((elem) => elem.remove()); el.querySelectorAll('.B6fmyf').forEach((elem) => elem.remove()); } // Removes extra <br> tags function removeUnnecessaryLineBreak(el) { const link = el.querySelector('a'); if (link) link.querySelectorAll('br').forEach((elem) => elem.remove()); } // Adjusts the title margin top (after the header information has been removed from DOM) function adjustTitleMargin(el) { const titleEl = el.querySelector('.LC20lb'); if (titleEl) titleEl.style.marginTop = '0px'; } // Appends the URL after the title in a green color function appendUrlAfterTitle(el, url) { const titleParentEl = el.querySelector('.yuRUbf'); const newEl = document.createElement('a'); newEl.setAttribute('href', url); newEl.innerHTML = url; newEl.style.color = '#006621'; newEl.style.fontSize = '15px'; newEl.style.display = 'block'; if (titleParentEl) { const parent = titleParentEl.parentElement; const totalLinks = parent.querySelectorAll('a').length; if (totalLinks == 1) titleParentEl.after(newEl); } } })();