ВКонтакте: исправление новомодных названий меню

VK обозвал группы сообществами, а сообщения - мессенджером. Не беда, ведь есть этот скрипт! Работает настолько быстро, насколько это возможно

目前為 2022-01-15 提交的版本,檢視 最新版本

// ==UserScript==
// @name          ВКонтакте: исправление новомодных названий меню
// @description   VK обозвал группы сообществами, а сообщения - мессенджером. Не беда, ведь есть этот скрипт! Работает настолько быстро, насколько это возможно
// @namespace     https://gf.qytechs.cn/users/424058
// @version       3.3.0
// @compatible    Chrome
// @compatible    Opera
// @compatible    Firefox
// @author        https://vk.me/id222792011
// @icon          https://www.google.com/s2/favicons?domain=vk.com&sz=32
// @match         https://vk.com/*
// @match         https://m.vk.com/*
// @require       https://cdnjs.cloudflare.com/ajax/libs/arrive/2.4.1/arrive.min.js
// @run-at        document-start
// @grant         none
// @noframes
// ==/UserScript==

// Есть вопросы или предложения? Можно написать мне тут: vk.me/id222792011 или через систему обсуждений Greasy Fork镜像

/*
 История изменений:

 3.3.0 (15.01.2022) Исправлено замедление которое случилось из-за 3.1.2
 3.2.0 (15.01.2022) Теперь работает и для мобильной версии (m.vk.com)
 3.1.2 (12.04.2021) Исправлен редкий случай когда скрипт не работал если вкладка была открыта в фоне
 3.0.1 (19.11.2020) Исправление заголовка вкладки не работало если перейти по ссылке типа vk.me/id1. Исправлено
 3.0.0 (13.11.2020) Обновлена основа скрипта. Теперь скрипт работает настолько быстро, насколько это возможно
 2.0.0 (07.11.2020) Обновлена основа скрипта. Удаление рекламы AliExpress из слов "Скидка", "Распродажа" и т.д.
                    Подробнее о рекламе AliExpress: https://habr.com/ru/news/t/526524/
 1.1.0 (03.10.2020) "Мессенджер" исправляется на "Сообщения"
 1.0.0 (19.12.2019) Релиз. Исправление "Сообщества" на "Группы" в левом меню и в заголовке вкладки
*/

/* jshint esversion: 6 */

(function() {
  'use strict';

  const replaceList = {
    'Сообщества': 'Группы',
    'Мессенджер': 'Сообщения'
  };

  setTimeout(function poll() {
    if (!document.documentElement) return setTimeout(poll);

    document.arrive('title', {
      onceOnly: true,
      existing: true
    }, (titleNode) => {
      // чтобы не переименовывать вкладку, например, 
      // с каким-нибудь видео под названием "Сообщества..."
      if (currentPathIsGroupsOrMsgs()) {
        document.title = fixStringWords(document.title);
      }

      const titleObs = new MutationObserver((mutations, obs) => {
        if (!currentPathIsGroupsOrMsgs()) return;

        document.title = fixStringWords(document.title);
        obs.takeRecords();
      });

      titleObs.observe(titleNode, { childList: true });
    });

    document.arrive(
      [
        '#l_msg span.left_label.inl_bl',
        '#l_gr  span.left_label.inl_bl',
        'ul.main_menu > li.mmi_mail   .mm_label',
        'ul.main_menu > li.mmi_groups .mm_label',
      ].join(', '),
      { existing: true }, fixNodeWords
    );
  });


  // utils -------------------------------------------------

  function currentPathIsGroupsOrMsgs() {
    return !!(
      location.pathname === '/im' ||
      location.pathname === '/mail' ||
      location.pathname === '/groups' ||
      location.pathname === '/al_im.php' ||
      location.pathname.match(/^\/write(\d|)/)
    );
  }

  function fixStringWords(str) {
    for (const sought in replaceList) {
      const replaceTo = replaceList[sought];

      str = str.replace(sought, replaceTo);
    }

    return str;
  }

  function fixNodeWords(node) {
    node.innerText = fixStringWords(node.innerText);
  }
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址