Greasy Fork

Greasy Fork is available in English.

Return Pagination to Google

Makes Google searches break down into separate pages, rather than displaying as one continuous page. (Quick & Dirty)

当前为 2023-06-10 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name        Return Pagination to Google
// @description Makes Google searches break down into separate pages, rather than displaying as one continuous page. (Quick & Dirty)
// @namespace   Violentmonkey Scripts
// @match       https://www.google.com/search
// @grant       none
// @version     1.0
// @author      Jupiter Liar
// @license     Attribution CC BY
// @description 6/10/2023, 6:48 AM
// ==/UserScript==


// Check if the page has the required conditions
if (document.getElementById('botstuff') && !document.querySelector('table.AaVjTc')) {
  // Create the table element
  var table = document.createElement('table');
  table.className = 'AaVjTc';
  table.style.margin = 'auto';
  table.style.marginBottom = '32px';

  // Create a variable to store the page number
  var pageNumber;

  // Extract the page number from the URL
  var startParam = "&start=";
  var startIndex = window.location.href.indexOf(startParam);

  if (startIndex === -1) {
    pageNumber = 1;
  } else {
    var startValue = parseInt(window.location.href.substring(startIndex + startParam.length));
    pageNumber = Math.floor(startValue / 10) + 1;
  }

  // Create the table columns
  for (var i = 0; i < 11; i++) {
    var column = document.createElement('td');
    column.style.textAlign = 'center';
    column.style.verticalAlign = 'baseline';
    column.style.minWidth = '20px';
    column.style.fontSize = '16pt';

    // Add padding to middle columns
    if (i > 0 && i < 10) {
      column.style.padding = '0 8pt';
    }

    // Add padding to previous and next columns
    if (i === 0 || i === 10) {
      column.style.padding = '0 24pt';
    }

    // Add content to the columns
    if (i === 0) {
      if (pageNumber !== 1) {
        var previousLink = document.createElement('a');
        previousLink.href = window.location.href.replace(startParam + startValue, startParam + (startValue - 10));
        previousLink.innerText = '< Previous';
        column.appendChild(previousLink);
      }
    } else if (i === 10) {
      var nextLink = document.createElement('a');
      nextLink.href = window.location.href.replace(startParam + startValue, startParam + (startValue + 10));
      nextLink.innerText = 'Next >';
      column.appendChild(nextLink);
    } else {
      // Calculate the page number for the column
      var columnNumber;
      if (pageNumber < 5) {
        columnNumber = i;
      } else if (pageNumber >= 5) {
        columnNumber = pageNumber - 5 + i;
      }

      if (columnNumber === pageNumber) {
        // Add page number without link
        column.innerText = columnNumber;
      } else {
        // Add page number with link
        var newStartValue = (columnNumber - 1) * 10;
        if (newStartValue === 0) {
          newStartValue = "0";
        }
        if (startIndex === -1) {
          column.innerHTML = `<a href="${window.location.href + startParam + newStartValue}">${columnNumber}</a>`;
        } else {
          column.innerHTML = `<a href="${window.location.href.replace(startParam + startValue, startParam + newStartValue)}">${columnNumber}</a>`;
        }
      }
    }

    // Append the column to the table
    table.appendChild(column);
  }

  // Append the table to the 'botstuff' div
  var botstuffDiv = document.getElementById('botstuff');
  botstuffDiv.appendChild(table);
}