Clean Tweet URL

Clean tweet URL

目前為 2025-06-17 提交的版本,檢視 最新版本

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         Clean Tweet URL
// @namespace    https://greasyfork.org/users/214573
// @version      0.1.1-fox
// @description  Clean tweet URL
// @license      MIT
// @match        *://x.com/*
// @match        *://twitter.com/*
// @match        *://mobile.x.com/*
// @match        *://mobile.twitter.com/*
// @match        *://fxtwitter.com/*
// @match        *://vxtwitter.com/*
// @match        *://fixupx.com/*
// @match        *://foxvx.com/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=x.com
// @run-at       document-start
// @grant        none
// ==/UserScript==

/* jshint esversion: 11 */

(function () {
  'use strict';

  const isFoxvx = window.location.hostname === 'foxvx.com'; // 好耶狐狸
  const tweet =
    /^(?:|https?:\/\/)(?:|mobile\.)(?:x|twitter|fxtwitter|vxtwitter|fixupx).com\/(\w+|i\/web)\/status\/(\d+)[^\d].+/;

  const isTweet = window.location.href.match(tweet);
  if (isFoxvx) {
    const url = window.location.href.replace('foxvx', 'x');
    setTimeout(() => window.location.replace(url), 3000);
  } else if (isTweet && window.location.search) {
    const url = `https://x.com/${isTweet[1]}/status/${isTweet[2]}`;
    console.debug(`query detected, redirect to: ${url}`);
    window.location.replace(url);
  }
})();