GreasyFork Script Finder

获取当前页面的主域名并打开 GreasyFork 查找脚本

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         GreasyFork Script Finder
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  获取当前页面的主域名并打开 GreasyFork 查找脚本
// @author       Felix
// @license      AGPL-3.0
// @match        *://*/*
// @grant        GM_registerMenuCommand
// @grant        GM_openInTab
// ==/UserScript==
 
(function() {
    'use strict';
 
    // 注册菜单命令
    GM_registerMenuCommand("查找该域名的GreasyFork脚本", function() {
        // 获取当前页面的完整域名
        const domain = window.location.hostname;
 
        // 使用正则表达式提取主域名
        const mainDomain = domain.replace(/^.*\.(?:com|org|net|gov|edu|io|co|info|me|tv)(?:\.[a-z]{2,})?$/, "$&").split('.').slice(-2).join('.');
 
        // 生成 GreasyFork 搜索链接
        const url = `https://greasyfork.org/zh-CN/scripts/by-site/${mainDomain}`;
 
        // 在新标签页中打开该链接
        GM_openInTab(url, { active: true });
    });
})();