Greasy Fork

来自缓存

在当前标签页中打开链接

所有链接都会在当前标签页中打开,而不是新的标签页或窗口,脚本菜单可以当前网站启用与禁用

目前为 2023-03-07 提交的版本。查看 最新版本

// ==UserScript==
// @name         在当前标签页中打开链接
// @version      2
// @author ChatGPT定制
// @description  所有链接都会在当前标签页中打开,而不是新的标签页或窗口,脚本菜单可以当前网站启用与禁用
// @match        *://*/*
// @grant        GM_registerMenuCommand
// @grant        GM_setValue
// @grant        GM_getValue
// @run-at       document-end
// @namespace    https://greasyfork.org/users/452911
// ==/UserScript==

(function() {
    'use strict';

    // 获取当前网站URL,并根据其生成一个唯一的存储键
    var storageKey = window.location.href.replace(/\/|\./g, '_');

    // 根据存储键获取已保存的设置(如果存在)
    var isEnabled = GM_getValue(storageKey, true);

    function showAlert() {
        (function() {
    'use strict';
    // 获取页面上所有的链接
    var links = document.getElementsByTagName('a');
    // 遍历所有链接,并将它们的目标属性设置为“_self”
    for (var i = 0; i < links.length; i++) {
        links[i].target = '_self';
    }
})();
    }

    // 根据保存的设置来启用或禁用弹出提示框功能
    if (isEnabled) {
        showAlert();
    }

    // 创建油猴菜单项,在菜单中添加“启用”和“禁用”选项
    GM_registerMenuCommand(isEnabled ? '禁用强制当前标签打开' : '禁用当前强制标签打开', function() {
        isEnabled = !isEnabled;
        GM_setValue(storageKey, isEnabled);
        if (isEnabled) {
            showAlert();
        }
    });
})();