您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
Hide (toggle) top bar (All, Videos, News...) and adds quick filtering to the left sidebar.
// ==UserScript== // @name Google Cleaner // @description Hide (toggle) top bar (All, Videos, News...) and adds quick filtering to the left sidebar. // @version 3.10 // @include http://www.google.*/search* // @include http://www.google.*/webhp* // @include http://www.google.*/images* // @include http://www.google.*/imghp* // @include https://www.google.*/search* // @include https://www.google.*/webhp* // @include https://encrypted.google.com/search* // @namespace http://greasyfork.icu/users/153157 // @license MIT // ==/UserScript== var head = document.getElementsByTagName('head')[0]; function init() { toggleNavBar(); toggleFiltersBar(); addLinks(); cleanGoogle(); } var isBarVisible = false; var hideNavBarStyle = dom("<style type='text/css'>#top_nav, #appbar {display:none;}</style>"); function toggleNavBar() { if (isBarVisible) { head.removeChild(hideNavBarStyle); } else { head.appendChild(hideNavBarStyle); } isBarVisible = !isBarVisible; } var isFiltersBarVisible = false; var hideFiltersBarStyle = dom("<style type='text/css'>#filtersBar {display:none;}</style>"); function toggleFiltersBar() { if (isFiltersBarVisible) { head.removeChild(hideFiltersBarStyle); } else { head.appendChild(hideFiltersBarStyle); } isFiltersBarVisible = !isFiltersBarVisible; } function addLinks() { var parent = document.getElementById('rcnt'); createLink("<div id='bartoggle' style='font-size: 11px; top: 25px; left: 23px; position: absolute'>Toggle topbar</div>", toggleNavBar, parent); createLink("<div style='font-size: 11px; top: 49px; left: 33px; position: absolute'>Past year</div>", showPastYearPosts, parent); createLink("<div style='font-size: 11px; top: 70px; left: 53px; position: absolute'>+</div>", toggleFiltersBar, parent); var filtersBar = createLink("<div id='filtersBar' style='font-size: 11px; top: 89px; left: 34px; position: absolute; line-height: 18px'></div>", null, parent); createLink("<div style=''>Past year</div>", showPastYearPosts, filtersBar); createLink("<div style=''>Any time</div>", showAnyTimePosts, filtersBar); createLink("<div style=''>Past hour</div>", showPastHourPosts, filtersBar); createLink("<div style=''>Past 24 hours</div>", showPast24HoursPosts, filtersBar); createLink("<div style=''>Past week</div>", showPastWeekPosts, filtersBar); createLink("<div style=''>Past month</div>", showPastMonthPosts, filtersBar); createLink("<div style=''>Custom range</div>", showCustomRangePosts, filtersBar); } function showPastYearPosts() { doLink("qdr:y"); } function showAnyTimePosts() { doLink("qdr:"); } function showPastHourPosts() { doLink("qdr:h"); } function showPast24HoursPosts() { doLink("qdr:d"); } function showPastWeekPosts() { doLink("qdr:w"); } function showPastMonthPosts() { doLink("qdr:m"); } function showCustomRangePosts() { document.querySelectorAll('[jsname="oYxtQd"]')[2].click(); } function doLink(tbsParam) { const params = new URLSearchParams(window.location.search); params.set('tbs', tbsParam); document.location.href=`?${params.toString()}`; } function createLink(nodeString, onclick, parent) { if (!parent) return null; var link = dom(nodeString); link.addEventListener("click", onclick, false); parent.appendChild(link); return link; } function dom(nodeString) { var div = document.createElement('div'); div.innerHTML = nodeString; return div.firstChild; } function cleanGoogle() { GM_addStyle_from_string(` .ULSxyf, /* Videos and People also Ask sessions */ .zSS54d { display: none; } #sfcnt { margin-bottom: -15px; } .r { height: 26px; } .LC20lb { position: relative; top: -49px; } .g { margin-top: 46px; } .xA33Gc { display: none; } .TbwUpd { margin-left: 1px; } .iUh30, .CvmQuf, .eipWBe { color: green } `); } function GM_addStyle_from_string(str) { var node = document.createElement('style'); node.innerHTML = str; document.body.appendChild(node); } init();