replace ADF title

replace title

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey, Greasemonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да инсталирате разширение, като например Tampermonkey .

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Userscripts.

За да инсталирате скрипта, трябва да инсталирате разширение като Tampermonkey.

За да инсталирате този скрипт, трябва да имате инсталиран скриптов мениджър.

(Вече имам скриптов мениджър, искам да го инсталирам!)

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

(Вече имам инсталиран мениджър на стиловете, искам да го инсталирам!)

// ==UserScript==
// @name         replace ADF title
// @namespace    http://tampermonkey.net/
// @version      2026-05-13
// @description  replace title
// @author       You
// @match        https://adf.azure.com/*
// @match        https://*.azuredatabricks.net/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=azure.com
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    const replace_map = {
        "dtf-sgesss-dev-az1-cfpuv7hera2": "DEV ADF",
        "dtf-sgesss-dev-az1-m5rbvkhera2": "SIT ADF",
        "dtf-sgesss-uat-az1-kaoi9khera2": "UAT ADF",
        "sgesss-prd-az1-ramcat": "PRD ADF",

        "adb-4693644767318262": "DEV ADB",
        "adb-6251393601425350": "SIT ADB",
        "adb-3769403716554776.16": "UAT ADB",
        "adb-2232446691151506.6": "PRD ADB",
        "3263952417704082.2": "Optimus POC ADB",
        "328189355790169.9": "Optimus DEV ADB",
        "4167251017893463.3": "Optimus SIT ADB",

        "dtf-sgesss-dev-az1-tw12jnoptimus": "Opt POC ADF",
        "dtf-sgesss-dev-az1-p89dtaoptimus": "Opt SIT ADF",
        "adb-2869921049264012.12": "SIT2 ADB",
    };

    function updateTitle() {
        const url = window.location.href;
        let currentTitle = document.title;

        for (const [key, prefix] of Object.entries(replace_map)) {
            if (url.includes(key)) {
                // 检查是否已经加上了前缀
                const fullPrefix = prefix + " | ";
                if (!currentTitle.startsWith(fullPrefix)) {
                    // 核心逻辑:如果标题发生了变化(比如由于切换 Pipeline),
                    // 我们把新的标题内容接在我们的前缀后面
                    console.log("Updating title for:", prefix);

                    // 先把可能存在的旧前缀删掉(防止重复叠加),再加新的
                    let originalPart = currentTitle;
                    Object.values(replace_map).forEach(p => {
                        originalPart = originalPart.replace(p + " | ", "");
                    });

                    document.title = fullPrefix + originalPart;
                }
                break;
            }
        }
    }

    // 使用每秒检查一次的逻辑(你原有的习惯,最稳健)
    setInterval(updateTitle, 1000);

    // 同时配合 MutationObserver,让标题修改更即时
    const observer = new MutationObserver(updateTitle);
    const titleElement = document.querySelector('title');
    if (titleElement) {
        observer.observe(titleElement, { childList: true });
    }

})();