您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Redirects specified URLs to new destinations
- // ==UserScript==
- // @name URL Redirector
- // @namespace http://your-namespace.com
- // @version 1.0
- // @description Redirects specified URLs to new destinations
- // @match http://*/*
- // @match https://*/*
- // @grant GM_setValue
- // @grant GM_getValue
- // @license MIT
- // ==/UserScript==
- (function() {
- 'use strict';
- // 获取已保存的重定向规则
- var redirectRules = GM_getValue('redirectRules', []);
- // 显示用户界面
- function showUserInterface() {
- var uiContainer = document.createElement('div');
- uiContainer.style.position = 'fixed';
- uiContainer.style.top = '20px';
- uiContainer.style.right = '20px';
- uiContainer.style.padding = '10px';
- uiContainer.style.backgroundColor = '#f9f9f9';
- uiContainer.style.border = '1px solid #ddd';
- // 添加标题
- var title = document.createElement('h2');
- title.innerHTML = 'URL Redirector';
- uiContainer.appendChild(title);
- // 添加规则列表
- var ruleList = document.createElement('ul');
- uiContainer.appendChild(ruleList);
- // 添加规则输入字段和按钮
- var fromInput = document.createElement('input');
- fromInput.placeholder = 'From URL';
- uiContainer.appendChild(fromInput);
- var toInput = document.createElement('input');
- toInput.placeholder = 'To URL';
- uiContainer.appendChild(toInput);
- var addButton = document.createElement('button');
- addButton.innerHTML = 'Add Rule';
- addButton.addEventListener('click', function() {
- var fromUrl = fromInput.value.trim();
- var toUrl = toInput.value.trim();
- if (fromUrl !== '' && toUrl !== '') {
- // 添加新规则到数组
- redirectRules.push({
- from: fromUrl,
- to: toUrl
- });
- // 清空输入字段
- fromInput.value = '';
- toInput.value = '';
- // 更新规则列表
- updateRuleList();
- }
- });
- uiContainer.appendChild(addButton);
- // 更新规则列表
- function updateRuleList() {
- ruleList.innerHTML = '';
- // 创建规则列表项
- for (var i = 0; i < redirectRules.length; i++) {
- var rule = redirectRules[i];
- var listItem = document.createElement('li');
- listItem.innerHTML = rule.from + ' -> ' + rule.to;
- var deleteButton = document.createElement('button');
- deleteButton.innerHTML = 'Delete';
- deleteButton.addEventListener('click', (function(index) {
- return function() {
- // 从数组中删除规则
- redirectRules.splice(index, 1);
- // 更新规则列表
- updateRuleList();
- };
- })(i));
- listItem.appendChild(deleteButton);
- ruleList.appendChild(listItem);
- }
- // 保存更新后的规则数组
- GM_setValue('redirectRules', redirectRules);
- }
- // 初始化规则列表
- updateRuleList();
- // 将用户界面添加到页面
- document.body.appendChild(uiContainer);
- }
- // 检查当前URL是否需要重定向
- function checkForRedirect() {
- var currentUrl = window.location.href;
- // 检查每个规则是否匹配当前URL
- for (var i = 0; i < redirectRules.length; i++) {
- var rule = redirectRules[i];
- if (currentUrl.includes(rule.from)) {
- // 如果匹配,则重定向到新目标URL
- var newUrl = currentUrl.replace(rule.from, rule.to);
- window.location.href = newUrl;
- break;
- }
- }
- }
- // 在页面加载完成后检查重定向
- window.addEventListener('load', function() {
- // 显示用户界面
- showUserInterface();
- // 检查重定向
- checkForRedirect();
- });
- })();