Greasy Fork

Greasy Fork is available in English.

NiTwit

Button to toggle between Twitter and a custom domain

目前为 2023-07-26 提交的版本,查看 最新版本

// ==UserScript==
// @name         NiTwit
// @namespace    http://tampermonkey.net/
// @version      0.1.1
// @description  Button to toggle between Twitter and a custom domain
// @author       You
// @match        *://*.twitter.com/*
// @grant        GM_getValue
// @grant        GM_setValue
// @license MIT
// ==/UserScript==

(function () {
	"use strict";

	let alternateDomain = GM_getValue("alternateDomain");

	// If no alternate domain has been set, prompt the user to input one, default is 'nitter.net'
	if (!alternateDomain) {
		alternateDomain = prompt("Please enter the alternate domain you want to switch to from twitter.com:", "nitter.net");

		// If the user provides an alternate domain, save it
		if (alternateDomain) {
			GM_setValue("alternateDomain", alternateDomain);
		}
	}

	// Add the match rule for the alternate domain
	if (alternateDomain) {
		GM_info.scriptHandler.addMetaRule({ name: "@match", value: `*://*.${alternateDomain}/*` });
	}

	const url = window.location.href;
	let newUrl = "";

	// Create button
	let btn = document.createElement("button");
	btn.classList.add("nitter-switch");
	btn.textContent = "Switch";
	btn.style.position = "fixed";
	btn.style.top = "10";
	btn.style.right = "10";
	btn.style.zIndex = "9999999999";

	// Add button to page
	document.body.appendChild(btn);

	btn.addEventListener("click", function () {
		if (url.includes("twitter.com")) {
			newUrl = url.replace("twitter.com", alternateDomain);
		} else if (url.includes(alternateDomain)) {
			newUrl = url.replace(alternateDomain, "twitter.com");
		}

		window.location.href = newUrl;
	});
})();