SleazyFork Redirect

Redirects sleazyfork.org URLs to greasyfork.org if a specific text is found.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         SleazyFork Redirect
// @namespace    github.com/lngkidkoolstar
// @version      1.0
// @description  Redirects sleazyfork.org URLs to greasyfork.org if a specific text is found.
// @author       longkidkoolstar
// @match        https://sleazyfork.org/*
// @license      MIT
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // Function to check and redirect if needed
    function checkAndRedirect() {
        const section = document.querySelector('section.text-content');
        if (section) {
            const pElement = section.querySelector('p');
            if (pElement && pElement.textContent.trim() === 'This script is not available on this site.') {
                // Redirect to GreasyFork
                window.location.href = window.location.href.replace('sleazyfork.org', 'greasyfork.org');
            }
        }
    }

    // Run the check on page load
    checkAndRedirect();

    // Also run the check when new content is added (for dynamic sites)
    const observer = new MutationObserver(mutationsList => {
        for (const mutation of mutationsList) {
            if (mutation.type === 'childList') {
                checkAndRedirect();
                break; // Stop checking once a change is detected
            }
        }
    });

    // Observe changes in the document's body
    observer.observe(document.body, { childList: true, subtree: true });
})();