Полезная информация

Общайтесь со знакомыми и друзьями в нашей группе в Контакте.

№111-01-2020 21:38:35

difabor
Участник
 
Группа: Members
Зарегистрирован: 21-09-2013
Сообщений: 531
UA: Chrome 79.0
Веб-сайт

Поиск в Гугле в нескольких колонках

Этот скрипт является форком расширения Mozilla 2-Column Google Results 2.7.0
Этот скрипт улучшает некоторые вещи в оригинальных результатах Google Mozilla с 2 столбцами, и он может быть легко перенастроен пользователем в коде скрипта.
Он также улучшает аналогичное расширение в Google Chrome - 2-Column Google Results 1.0
1. Этот скрипт легко настраивается:
по умолчанию он представляет результаты Google в 4 столбцах для "новости" и "видео"и в 3 столбцах для "все".
Но пользователь может настроить эти цифры под себя-отдельно для "новостей", "видео" и "всего".
Он также может изменить цвет выпрыгивающей панели.
2. Расширение Mozilla 2-Column Google Results 2.7.0 не представляло  "Новости" в 2 столбцах,
а расширение Chromes 2-Column Google Results 1.0 имеет проблемы с представлением изображений.
Здесь эти обе проблемы решены.
4. Кроме того скрипт учитывает актуальную ширину экрана - если юзер не в полноразмерном режиме, или имеется сплит и ширина меньше, число колонок уменьшается в соответствии с актуальной шириной
3. Скрипт сравнительно небольшой: меньше 9 КБ

скрытый текст
Google search in several columns

Выделить код

Код:

// ==UserScript==
// @name         Google search in several columns
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Google search results in 4 columns (Video and News) and 3 columns for All. Fork of Mozilla's 2-Column Google Results 2.7.0
// @author       difabor
// @include      http*://www.google.*/*
// @include      http*://www.google.*.*/*
// @include      http*://ipv6.google.*/*
// @include      http*://encrypted.google.*/*
// @include      http*://*start.me/search/google*
// @grant        none
// ==/UserScript==
var urloc = location;
var switch_news = /tbm=nws/.test(urloc)? '' : '.bkWMgd > div:not(.knavi)';
var FullScreenWidth = 1920;
var col4type = /tbm=nws/.test(urloc)? 4 : /tbm=vid/.test(urloc)? 4 : 3;
var col_num = Math.round(col4type*innerWidth/FullScreenWidth+0.1);
var spring_color = '#8ff';
var css = 'body:not(.no-two-col) {\n'+
'  max-width: 100vw !important;\n'+
'  overflow-x: hidden !important;\n'+
'}\n'+
'\n'+
'body:not(.no-two-col) img {\n'+
'  max-width: 100%;\n'+
'}\n'+
'\n'+
'body:not(.no-two-col) #center_col {\n'+
'  margin-left: 0 !important;\n'+
'  margin-right: 0 !important;\n'+
'  overflow-x: visible !important;\n'+
'  width: 100vw !important;\n'+
'  padding-left: 10px !important;'+
'}\n'+
'\n'+
'body:not(.no-two-col) #res {\n'+
'  box-sizing: border-box;\n'+
'  width: 100% !important;\n'+
'}\n'+
'\n'+
'/* body:not(.no-two-col) #res .bkWMgd {\n'+
'  vertical-align: top;\n'+
'} */\n'+
'\n'+
'/*\n'+
' * .knavi is for calculator. ref: #9\n'+
' * */\n'+
'/*.knavi*/\n'+
'body:not(.no-two-col) #res '+ switch_news +' {\n'+
'  column-count: '+col_num+' !important;\n'+
'  column-gap: 10px !important;\n'+
'  column-rule: 1px solid silver !important;\n'+
'  /*background-color: #fda !important;*/\n'+
'}\n'+
'\n'+
'body:not(.no-two-col) #res .bkWMgd > div:not(.knavi) > div {\n'+
'  box-sizing: border-box;\n'+
'  margin: 0 3% 10px;\n'+
'  min-height: 100px;\n'+
'  vertical-align: bottom;\n'+
'}\n'+
'\n'+
'body:not(.no-two-col) #res .bkWMgd > div.knavi > div {\n'+
'  width: 25%;\n'+
'  margin: auto;\n'+
'}\n'+
'\n'+
'body:not(.no-two-col) #res .bkWMgd g-section-with-header {\n'+
'  margin-left: 2.5%;\n'+
'  clear: both;\n'+
'}\n'+
'\n'+
'body:not(.no-two-col) #res .bkWMgd g-scrolling-carousel {\n'+
'  margin: 0;\n'+
'}\n'+
'\n'+
'body:not(.no-two-col) #iur {\n'+
'  width: 100% !important;\n'+
'}\n'+
'\n'+
'body:not(.no-two-col) .big .mw {\n'+
'  max-width: 100% !important;\n'+
'}\n'+
'\n'+
'body:not(.no-two-col) #rhs {\n'+
'  background-color: '+ spring_color +' !important;\n'+
'  box-shadow: 0 0 10px 0 rgba(0,0,0,0.5);\n'+
'  margin-right: 0 !important;\n'+
'  margin-left: 0 !important;\n'+
'  overflow: hidden !important;\n'+
'  padding: 0 !important;\n'+
'  position: absolute !important;\n'+
'  transition: .3s right;\n'+
'  top: -40px !important;\n'+
'  right: -440px !important;\n'+
'  width: 460px !important;\n'+
'  z-index: 1000 !important;\n'+
'}\n'+
'\n'+
'body:not(.no-two-col) #rhs:hover {\n'+
'  right: 0px !important;\n'+
'}\n'+
'\n'+
'body:not(.no-two-col) #rhs img {\n'+
'  width: 100%;\n'+
'}\n'+
'\n'+
'body:not(.no-two-col) #rhs #rhs_block,\n'+
'body:not(.no-two-col) #rhs #rhs_block .g.rhsvw.mnr-c.g-blk,\n'+
'body:not(.no-two-col) #rhs #rhs_block .g.rhsvw.mnr-c.g-blk .kp-blk {\n'+
'  padding-left: 0 !important;\n'+
'  padding-right: 0 !important;\n'+
'  margin: 2.5 !important;\n'+
'  width: 90%;\n'+
'}\n'+
'\n'+
'body:not(.no-two-col) #taw, #extrares {\n'+
'  clear: both;\n'+
'  margin-left: 30px;\n'+
'}\n'+
'\n'+
'body:not(.no-two-col) #rc {\n'+
'  width: 40vw;\n'+
'}\n'+
'\n'+
'body:not(.no-two-col) .rc table.ts td { /* for SearchPreview */\n'+
'  min-width: 130px;\n'+
'}\n'+
'\n'+
'/* also work for startpage.com */\n'+
'\n'+
'.startpage .web_regular_results > li {\n'+
'  box-sizing: border-box;\n'+
'  float: left;\n'+
'  min-height: 125px;\n'+
'  vertical-align: top;\n'+
'  width: 50%;\n'+
'}\n';

let styleNode = document.createElement("style");
  styleNode.appendChild(document.createTextNode(css));
  (document.querySelector("head") || document.documentElement).appendChild(styleNode);// ==UserScript==


Настройка числа колонок задаётся переменной col4type. По умолчанию в скрипте так:
var col4type = /tbm=nws/.test(urloc)? 4 : /tbm=vid/.test(urloc)? 4 : 3;
Эта строка говорит, что для новостей 4 колонки, видео - тоже 4 колонки, а для остального (то есть для "Всё") - 3 колонки.
Картинки исключаются из колоночного представления, чем решается проблема Google Chrome - 2-Column Google Results 1.0. - там картинки были только в одной колонке, а вторая была пустая.
Кроме того в скрипте задаётся ширина полноэкранного режима. По умолчанию это 1920:
var FullScreenWidth = 1920;
Если у юзера она другая - он должен в коде скрипта задать другое число.
Также, если он хочет другое число колонок, он должен изменить строку
var col4type = /tbm=nws/.test(urloc)? 4 : /tbm=vid/.test(urloc)? 4 : 3; подставив другие значения числа колонок
Обе этих переменных (col4type и FullScreenWidth) задаются практически в самом начале скрипта - 3-я и 4-я строки после шапки скрипта.

Отредактировано difabor (12-01-2020 01:16:45)


Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©

Отсутствует

 

№211-02-2020 09:48:33

_zt
Участник
 
Группа: Members
Зарегистрирован: 10-11-2014
Сообщений: 247
UA: Firefox 68.0

Re: Поиск в Гугле в нескольких колонках

difabor
В 68 esr ломает гуглокапчу.

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2011 Mozilla Russia
Язык отображения форума: [Русский] [English]