// ==UserScript== // @name 在当前标签页中打开链接 // @version 1.0 // @author ChatGPT定制 // @description 所有链接都会在当前标签页中打开,而不是新的标签页或窗口,脚本菜单可以当前网站启用与禁用 // @match *://*/* // @grant GM_registerMenuCommand // @grant GM_setValue // @grant GM_getValue // @run-at document-end // @namespace https://greasyfork.org/users/452911 // @downloadURL none // ==/UserScript== (function() { 'use strict'; // 获取当前网站URL,并根据其生成一个唯一的存储键 var storageKey = window.location.href.replace(/\/|\./g, '_'); // 根据存储键获取已保存的设置(如果存在) var isEnabled = GM_getValue(storageKey, true); // 获取页面上所有的链接 var links = document.getElementsByTagName('a'); // 遍历所有链接,并将它们的目标属性设置为“_self” function enableLinks() { for (var i = 0; i < links.length; i++) { links[i].target = '_self'; } isEnabled = true; GM_setValue(storageKey, true); } // 遍历所有链接,并将它们的目标属性设置为“_blank” function disableLinks() { for (var i = 0; i < links.length; i++) { links[i].target = '_blank'; } isEnabled = false; GM_setValue(storageKey, false); } // 根据保存的设置来启用或禁用链接 if (isEnabled) { enableLinks(); } else { disableLinks(); } // 创建油猴菜单项,在菜单中添加“启用”和“禁用”选项 GM_registerMenuCommand(isEnabled ? '禁用强制当前标签打开' : '启用强制当前标签打开', function() { if (isEnabled) { disableLinks(); } else { enableLinks(); } }); })();