// ==UserScript== // @name Google Search restore URLs (undo breadcrumbs) // @namespace https://greasyfork.org/en/users/27283-mutationobserver // @version 2019.11.09v7 // @description Brings back the full URLs in results. // @author MutationObserver // @match https://*.google.com/search?* // @include /^https?://(?:www|encrypted|ipv[46])\.google\.[^/]+/(?:$|[#?]|search|webhp)/ // @grant none // @downloadURL none // ==/UserScript== var results = document.querySelectorAll(".r"); if (results) { var linkFontSize; var originalWidths = []; for (i=0; i < results.length; i++) { try { var oldWidth = results[i].offsetWidth; originalWidths.push(oldWidth); var link = results[i].querySelector(".r a").getAttribute("href"); var linkElem = results[i].querySelector("cite"); linkElem.innerHTML = link; if (!linkFontSize) linkFontSize = window.getComputedStyle(linkElem, null).getPropertyValue('font-size'); linkElem.setAttribute("data-full-link", link); } catch(e){ console.log("Google Search restore URLs - ERROR @: " + i + ": " + e.message); continue; } } setTimeout(function () { for (i=0; i < results.length; i++) { var linkElem = results[i].querySelector("cite"); var currentWidth = linkElem.offsetWidth; if (currentWidth > originalWidths[i]) { linkElem.innerHTML = linkTruncate(linkElem.innerHTML); linkElem.classList.add("userscript-truncated"); results[i].classList.add("userscript-truncated"); } } }, 100); document.querySelector("body").insertAdjacentHTML("afterbegin", ` `); } function linkTruncate(str) { if (str.length > 80) { return str.substr(0, 37) + '...' + str.substr(str.length-40, str.length); } return str; }