牛客网补丁

2024/10/4 16:52:29

// ==UserScript==
// @name        牛客网补丁
// @namespace   Violentmonkey Scripts
// @match       https://www.nowcoder.com/issue/tutorial*
// @grant       none
// @version     1.0
// @author      momo
// @license MIT
// @description 2024/10/4 16:52:29
// ==/UserScript==

(function() {
  'use strict';

  const className = '.tw-text-center.tw-mb-7.tw-font-semibold.tw-text-gray-800.tw-text-size-title-lg-pure'

  // 创建一个观察器实例并传入回调函数
  const observer = new MutationObserver((mutationsList) => {
    for (const mutation of mutationsList) {
      if (mutation.type === 'childList') {
        // 检查是否有class为abc的元素
        const targetNode = document.querySelector(className);
        if (targetNode) {
          // 如果找到目标元素,停止观察整个文档
          observer.disconnect();

          // 创建一个新的观察器来监视目标元素的innerText变化
          const innerObserver = new MutationObserver((innerMutations) => {
            for (const innerMutation of innerMutations) {
              if (innerMutation.type === 'characterData' || innerMutation.type === 'childList') {
                document.title = targetNode.innerText;
              }
            }
          });

          // 配置观察选项
          const config = { characterData: true, childList: true, subtree: true };

          // 开始观察目标节点
          innerObserver.observe(targetNode, config);
        }
      }
    }
  });

  // 配置观察选项
  const config = { childList: true, subtree: true };

  // 开始观察整个文档
  observer.observe(document.body, config);
})();