Google Scholar in Google

This script add "Scholar" link to Google search result page.

目前为 2024-11-30 提交的版本。查看 最新版本

// ==UserScript==
// @name        Google Scholar in Google
// @namespace   https://thynanami.dev
// @description This script add "Scholar" link to Google search result page.
// @match       https://www.google.com/search*
// @version     0.0.1
// @author      Nanami Nakano
// @grant       GM_addStyle
// @license     MIT
// ==/UserScript==

(function () {
'use strict';

function getSearchText() {
  const searchTextarea = document.querySelector('[aria-label="Search"]');
  if (!searchTextarea) {
    const searchTextarea = document.querySelector('[role="textbox"]');
    const searchText = searchTextarea.value;
    return encodeURI(`https://scholar.google.com/scholar?q=${searchText}`);
  }
  const searchText = searchTextarea.textContent;
  return encodeURI(`https://scholar.google.com/scholar?q=${searchText}`);
}
function getTab() {
  const listItems = document.querySelectorAll('[role="listitem"]');
  if (listItems.length < 2) {
    throw new Error("Could not find the second listitem to copy styles from.");
  }
  return listItems[1];
}
try {
  const url = getSearchText();
  const tab = getTab();
  const newTab = document.createElement("div");
  Array.from(tab.attributes).forEach(attribute => {
    newTab.setAttribute(attribute.name, attribute.value);
  });
  const anchor = tab.querySelector("a");
  const newAnchor = document.createElement("a");
  Array.from(anchor.attributes).forEach(attribute => {
    newAnchor.setAttribute(attribute.name, attribute.value);
  });
  newAnchor.setAttribute("href", url);
  const title = anchor.querySelector("div");
  const newTitle = document.createElement("div");
  newTitle.textContent = "Scholar";
  Array.from(title.attributes).forEach(attribute => {
    newTitle.setAttribute(attribute.name, attribute.value);
  });
  newAnchor.appendChild(newTitle);
  newTab.appendChild(newAnchor);
  const navigationContainer = document.querySelector('[role="list"]');
  if (navigationContainer) {
    navigationContainer.insertBefore(newTab, tab);
  }
} catch (e) {
  console.warn(e);
}

})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址