Google Cleaner

Hide (toggle) top bar (All, Videos, News...) and adds quick filtering to the left sidebar. Also reduces font size and removes an annoying popup box.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey, Greasemonkey или Violentmonkey.

Для установки этого скрипта вам необходимо установить расширение, такое как Tampermonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Violentmonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Userscripts.

Чтобы установить этот скрипт, сначала вы должны установить расширение браузера, например Tampermonkey.

Чтобы установить этот скрипт, вы должны установить расширение — менеджер скриптов.

(у меня уже есть менеджер скриптов, дайте мне установить скрипт!)

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

(у меня уже есть менеджер стилей, дайте мне установить скрипт!)

// ==UserScript==
// @name          Google Cleaner
// @namespace     https://greasyfork.org/users/153157
// @description   Hide (toggle) top bar (All, Videos, News...) and adds quick filtering to the left sidebar. Also reduces font size and removes an annoying popup box.
// @version       3.5
// @compatible    firefox
// @compatible    chrome
// @compatible    opera
// @compatible    Safari
// @copyright     Fabulo92
// @author        Fabulo92
// @Secure        Fabulo92
// @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*
// @resource      _css https:///Fabulo92/Google Cleaner/css/Google Cleaner.css?v=3.5
// @require       https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js
// @icon           https://icons.duckduckgo.com/ip2/google.com.ico
// @homepage      https://greasyfork.org/fr/users/158570-fabulo92
// @homepageURL
// @supportURL    https://productforums.google.com/forum/#!home
// @contributionURL https://www.paypal.com/
// @grant         none
// @grant         unsafeWindow
// @grant         GM_getValue
// @grant         GM_setValue
// @grant         GM_addStyle
// @grant         GM_getResourceText
// @grant         GM_xmlhttpRequest
// @grant         GM_registerMenuCommand
// @noframes
// @license       GPLv3
// ==/UserScript==

var head = document.getElementsByTagName('head')[0];

function init() {
  toggleNavBar();
  toggleFiltersBar();
  addLinks();
  cleanGoogle();
  removeAnnoyingPopUpBox();
}

function removeAnnoyingPopUpBox() {
  var intervalId = setInterval(function() {
    var box = document.getElementsByClassName('gb_fa gb_g')[0];
    if (box) {
      clearInterval(intervalId);
      box.style.display = 'none';
    }
  }, 100);
}

var isBarVisible = false;
var hideNavBarStyle = dom("<style type='text/css'>#top_nav {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() { toggleNavBar(); document.getElementById("cdr_opt").children[1].click(); }

function doLink(linkId) {
  document.getElementById(linkId).firstChild.click();
}

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(
      '#appbar {display: none}' +
      '#tads a, #tadsb a, #res a, #rhs a, #taw a {font-size: small}'
  );
}

init();