Greasy Fork

Greasy Fork is available in English.

quickly search

google translate、mobile.ant.mobile、掘金、npmjs、bilibibli、bootstracpCDN、splunk、google API 快捷搜索,更多快捷搜索

当前为 2022-08-01 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name:zh-CN   快捷搜索
// @name         quickly search
// @namespace    http://tampermonkey.net/
// @version      2.4
// @description  google translate、mobile.ant.mobile、掘金、npmjs、bilibibli、bootstracpCDN、splunk、google API 快捷搜索,更多快捷搜索
// @license      MIT
// @author       zzailianlian
// @match        https://www.npmjs.com/*
// @match        https://docs.npmjs.com/*
// @match        http://portal.ai.babytree-inc.com/*
// @match        https://www.bootcdn.cn/*
// @match        https://www.bilibili.com/*
// @match        https://search.bilibili.com/*
// @match        http://splunk.ali.plt.babytree-inc.com/*
// @match        http://developer.chrome.com/*
// @match        https://juejin.cn/*
// @match        https://juejin.im/*
// @match        https://developer.chrome.com/*
// @match        https://marketplace.visualstudio.com/*
// @match        https://mobile.ant.design/*
// @match        https://developer.mozilla.org/*
// @match        http://gitlab.babytree-inc.com/*
// @match        https://gitlab.babytree-inc.com/*
// @match        https://hellogithub.com/*
// @match        https://react.docschina.org/*
// @match        https://zh-hans.reactjs.org/*
// @match        https://eslint.org/docs/*
// @match        https://prettier.io/*
// @match        https://www.prettier.cn/*
// @match        https://translate.google.cn/*
// @match        https://github.com/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=npmjs.com
// @grant        none
// ==/UserScript==

(function () {
  'use strict';
  const getUrlParams = () => {
    var obj = {}
    window.location.search.slice(1).split('&').map(item => {
      if (item.split('=')) {
        const [key, value] = item.split('=')
        if (key && value) {
          obj[key] = value
        }
      }
    })
    return obj;
  }
  const getUrlWithObj = obj => {
    const originHrefBase = window.location.href.split('?')[0]
    const originParamsObj = getUrlParams()
    const newObj = { ...originParamsObj, ...obj }
    const searchStr = Object.entries(newObj).reduce((pre, cur) => pre + `${cur[0]}=${cur[1]}&`, '')
    return `${originHrefBase}?${searchStr.slice(0, -1)}`
  }

  document.onkeydown = function (event) {
    var e = event || window.event;
    console.log(e, e.keyCode);
    // meta + g
    if (e && e.metaKey && e.keyCode == 71) {
      e.preventDefault();
      // npmjs.com的搜索框定位
      if (window.location.origin.includes('www.npmjs.com')) {
        document.querySelector('input[type=\'search\']').focus()
      }
      // npmjs docs 搜索框定位
      if (window.location.origin.includes('docs.npmjs.com')) {
        document.querySelector('input[type=text]').focus()
      }
      // www.bootcdn.cn的搜索框定位
      if (window.location.origin.includes('www.bootcdn.cn')) {
        document.querySelector('.search-wraper input[type=\'text\']').focus()
      }
      // bilibili首页的搜索框定位
      if (window.location.origin.includes('www.bilibili.com')) {
        document.querySelector('.nav-search-content input').focus()
      }

      // bilibili搜索页的搜索框定位
      if (window.location.origin.includes('search.bilibili.com')) {
        document.querySelector('.search-input-el').focus()
      }
      // splunk搜索
      if (window.location.origin.includes('splunk.ali.plt.babytree-inc.com')) {
        document.querySelector('.ace_text-input').focus()
      }
      // 谷歌api搜索
      if (window.location.origin.includes('developer.chrome.com')) {
        document.querySelector('.search-box__input').focus()
      }
      // 掘金搜索
      if (window.location.origin.includes('juejin')) {
        [...document.querySelector('.main-header').classList].includes('visible') ? null : document.querySelector('.main-header').classList.add('visible')
        document.querySelector('input[type="search"]').focus()
      }
      // vscode-插件市场搜索
      if (window.location.origin.includes('marketplace.visualstudio.com')) {
        document.querySelector('.search-input').focus()
      }
      // mobile ant design
      if (window.location.origin.includes('mobile.ant.design')) {
        document.querySelector('.__dumi-default-search-input').focus()
      }
      // mdn
      if (window.location.origin.includes('developer.mozilla.org')) {
        const inputEl = document.querySelector('#hp-search-input') || document.querySelector('#top-nav-search-input')
        inputEl.focus()
      }
      // gitlab
      if (window.location.origin.includes('gitlab')) {
        const inputEl = document.querySelector('input[type="search"]') || document.querySelector('#dashboard_search')
        inputEl.focus()
      }

      // hello github
      if (window.location.origin.includes('hellogithub')) {
        const inputEl = document.querySelector('#search-input') || document.querySelector('#dashboard_search')
        if (inputEl) {
          inputEl.focus()
        } else {
          const homeEl = document.querySelector('.pure-menu-link')
          homeEl.click()
          setTimeout(() => {
            const inputEl = document.querySelector('#search-input') || document.querySelector('#dashboard_search')
            inputEl.focus()
          }, 500);
        }
      }
      // react zh docs 
      if (window.location.origin.includes('react')) {
        const reactSearch = document.querySelector('#algolia-doc-search')
        if (reactSearch) {
          reactSearch.focus()
        }
      }
      // eslint.org
      if (window.location.origin.includes('eslint.org')) {
        const eslintSearch = document.querySelector('#search')
        if (eslintSearch) {
          eslintSearch.focus()
        }
      }
      // prettier.io
      if (window.location.origin.includes('prettier')) {
        const prettierSearch = document.querySelector('#search_input_react')
        if (prettierSearch) {
          prettierSearch.focus()
        }
      }
      // google translate
      if (window.location.origin.includes('translate.google.cn')) {
        const googleTrancelate = ddocument.querySelector('textarea[aria-label="原文"]')
        if (googleTrancelate) {
          googleTrancelate.focus()
        }
      }
      // github search your repositories
      if (window.location.origin.includes('github.com')) {
        const githubSearch =document.querySelector('input.js-your-repositories-search')
        if (githubSearch) {
          githubSearch.focus()
        }
      }
    }

    // google translate 切换中英文
    if (e && e.metaKey && e.keyCode == 70 && window.location.origin.includes('translate.google.cn')) {
      const enStr = 'sl=en'
      const cnStr = 'sl=zh-CN'
      const isEn = window.location.href.includes(enStr)
      var str = isEn ? getUrlWithObj({
        sl: 'zh-CN',
        tl: 'en'
      }) : getUrlWithObj({
        sl: 'en',
        tl: 'zh-CN'
      })
      window.location.href = str
    }
    // cmd + enter
    if (e && e.metaKey && e.keyCode == 13) {
      // splunk搜索按钮点击
      if (window.location.origin.includes('splunk.ali.plt.babytree-inc.com')) {
        document.querySelector("body > div.shared-page > div.main-section-body > div > div.section-padded.section-header > div.search-bar-wrapper.shared-searchbar > form > table > tbody > tr > td.search-button > a").click()
      }
    }


    if (window.location.origin.includes('portal.ai.babytree-inc.com')) {
      if (e && e.metaKey && (e.keyCode == 71 || e.keyCode == 70)) {
        e.preventDefault();
        // bbt埋点系统的搜索框定位
        document.querySelector("#search_content").focus()
      }
      if (e && e.metaKey && e.keyCode == 13) {
        // meta(cmd/windows按键) + 回车
        document.querySelector("body > div.container-wrap.mb-g > div.vip-right > div.right-box > div.am-titlebar.am-titlebar-default.am-no-layout > nav > form > button:nth-child(9)").click();
      }
      if (e && e.metaKey && e.keyCode == 86) {
        //  // meta(cmd/windows按键) + c  点击复制后直接调起筛选
        //document.querySelector("body > div.container-wrap.mb-g > div.vip-right > div.right-box > div.am-titlebar.am-titlebar-default.am-no-layout > nav > form > button:nth-child(9)").click();
      }
    }
  }
})();