您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
将神秘的国家代码自动替换为相应的国旗。为Windows上的Chromium用户提供解决方案!
- // ==UserScript==
- // @name Country Flag Fixer
- // @namespace https://github.com/matthijs110/chromium-country-flags/
- // @version 1.2.5
- // @license MIT
- // @description Replaces mysterious country codes automatically with the corresponding flag. The solution for Chromium users on Windows!
- // @description:ar يستبدل رموز البلد الغامضة تلقائيًا بالعلم المقابل. الحل لمستخدمي Chromium على Windows!
- // @description:bg Заменя автоматично мистериозните кодове на страните със съответния флаг. Решението за потребителите на Chromium в Windows!
- // @description:cs Automaticky nahradí záhadné kódy zemí odpovídající vlajkou. Řešení pro uživatele Chromu v systému Windows!
- // @description:da Erstatter automatisk mystiske landekoder med det tilsvarende flag. Løsningen for Chromium-brugere på Windows!
- // @description:de Ersetzt mysteriöse Ländercodes automatisch durch die entsprechende Flagge. Die Lösung für Chromium-Nutzer unter Windows!
- // @description:el Αντικαθιστά αυτόματα τους μυστηριώδεις κωδικούς χωρών με την αντίστοιχη σημαία. Η λύση για τους χρήστες του Chromium στα Windows!
- // @description:en-GB Replaces mysterious country codes automatically with the corresponding flag. The solution for Chromium users on Windows!
- // @description:es Sustituye automáticamente los códigos de país misteriosos por la bandera correspondiente. ¡La solución para los usuarios de Chromium en Windows!
- // @description:et Asendab salapärased riigikoodid automaatselt vastava lipuga. Lahendus Chromiumi kasutajatele Windowsis!
- // @description:fi Korvaa salaperäiset maakoodit automaattisesti vastaavalla lipulla. Ratkaisu Chromiumin käyttäjille Windowsissa!
- // @description:fr Remplace automatiquement les codes pays mystérieux par le drapeau correspondant. La solution pour les utilisateurs de Chromium sur Windows!
- // @description:he מחליף אוטומטית את קודי המדינה המסתוריים בדגל המתאים. הפתרון למשתמשי Chromium ב-Windows!
- // @description:hi रहस्यमय देश कोड को स्वचालित रूप से संबंधित ध्वज के साथ बदल देता है। विंडोज़ पर क्रोमियम उपयोगकर्ताओं के लिए समाधान!
- // @description:hu A rejtélyes országkódokat automatikusan helyettesíti a megfelelő zászlóval. A megoldás a Chromium felhasználók számára Windowson!
- // @description:id Mengganti kode negara misterius secara otomatis dengan bendera yang sesuai. Solusi untuk pengguna Chromium di Windows!
- // @description:it Sostituisce automaticamente i codici paese misteriosi con la bandiera corrispondente. La soluzione per gli utenti di Chromium su Windows!
- // @description:ja 謎の国番号を対応する国旗に自動的に置き換える。WindowsのChromiumユーザーのためのソリューション!
- // @description:ko 신비한 국가 코드를 해당 플래그로 자동 교체합니다. Windows의 Chromium 사용자를 위한 솔루션!
- // @description:lv Paslaptingus šalių kodus automatiškai pakeičia atitinkama vėliava. Sprendimas \"Chromium\" naudotojams \"Windows\" sistemoje!
- // @description:nl Vervangt mysterieuze landcodes automatisch door de overeenkomstige vlag. De oplossing voor Chromium gebruikers op Windows!
- // @description:no Erstatter mystiske landskoder automatisk med det tilsvarende flagget. Løsningen for Chromium-brukere på Windows!
- // @description:pl Automatycznie zastępuje tajemnicze kody krajów odpowiednią flagą. Rozwiązanie dla użytkowników Chromium w systemie Windows!
- // @description:pt-BR Substitui automaticamente os códigos misteriosos dos países pela bandeira correspondente. A solução para usuários do Chromium no Windows!
- // @description:pt-PT Substitui automaticamente os misteriosos códigos de países pela bandeira correspondente. A solução para os utilizadores de Crómio no Windows!
- // @description:ro Înlocuiește automat codurile de țară misterioase cu steagul corespunzător. Soluția pentru utilizatorii Chromium pe Windows!
- // @description:ru Автоматически заменяет загадочные коды стран на соответствующий флаг. Решение для пользователей Chromium под Windows!
- // @description:sk Záhadné kódy krajín automaticky nahradí príslušnou vlajkou. Riešenie pre používateľov Chromium v systéme Windows!
- // @description:sl Skrivnostne kode držav samodejno zamenja z ustrezno zastavo. Rešitev za uporabnike programa Chromium v operacijskem sistemu Windows!
- // @description:sv Ersätter mystiska landkoder automatiskt med motsvarande flagga. Lösningen för Chromium-användare i Windows!
- // @description:tr Gizemli ülke kodlarını otomatik olarak ilgili bayrakla değiştirir. Windows'ta Chromium kullanıcıları için çözüm!
- // @description:uk Автоматично замінює загадкові коди країн на відповідний прапор. Рішення для користувачів Chromium у Windows!
- // @description:vi Tự động thay thế mã quốc gia bí ẩn bằng cờ tương ứng. Giải pháp cho người dùng Chromium trên Windows!
- // @description:zh-CN 将神秘的国家代码自动替换为相应的国旗。为Windows上的Chromium用户提供解决方案!
- // @description:zh-TW 將神秘的國家代碼自動替換為相應的國旗。為Windows上的Chromium使用者提供解決方案!
- // @author matthijs110
- // @match *://*/*
- // @icon https://cdn.jsdelivr.net/gh/matthijs110/chromium-country-flags/src/assets/icons/icon48.png
- // @run-at document-start
- // ==/UserScript==
- (function() {
- 'use strict';
- // Source: https://github.com/talkjs/country-flag-emoji-polyfill
- const replacementFontName = "Twemoji Country Flags";
- // Some elements can be ignored.
- const ignoredElements = ["style", "script", "svg"];
- /**
- * Update all children of the given node.
- */
- const updateChildNodes = (startingPointNode) =>
- {
- startingPointNode.querySelectorAll('*').forEach((childNode) =>
- {
- const tagName = childNode.tagName.toLowerCase();
- if (ignoredElements.includes(tagName))
- return;
- // Match any emoji within the Unicode range
- const regex = /[\uD83C][\uDDE6-\uDDFF][\uD83C][\uDDE6-\uDDFF]|[\uD83C]\uDDEC[\uD83C][\uDDA7\uDDAC\uDDA9\uDDAF\uDDA8\uDDB3\uDDB4]|\u200D?\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDCA7?\uFE0F?/g;
- const matches = childNode.innerHTML.match(regex);
- if (matches)
- {
- // Get the original fonts to append later as fallback
- const originalFont = window.getComputedStyle(childNode, null).fontFamily;
- // Prevent any duplicated
- if (originalFont.toLowerCase().includes(replacementFontName.toLowerCase()))
- return;
- // Override the font
- childNode.style.fontFamily = `${replacementFontName}, ${originalFont}`;
- }
- });
- }
- /**
- * Observe the document for updated elements (e.g. scroll loading).
- */
- let observer = new MutationObserver(mutations =>
- {
- for (let mutation of mutations)
- {
- for (let addedNode of mutation.addedNodes)
- {
- if (addedNode != null && addedNode.tagName != null)
- {
- // Prevent searching within the ignored elements like SVG
- const tagName = addedNode.tagName.toLowerCase();
- if (ignoredElements.includes(tagName))
- continue;
- updateChildNodes(addedNode);
- }
- }
- }
- });
- // Observe the children of the document DOM-element and every newly added element (descendants)
- observer.observe(document, { childList: true, subtree: true });
- //document-idle
- // Source: https://github.com/talkjs/country-flag-emoji-polyfill
- const fontName = "Twemoji Country Flags";
- const fontUrl = "https://cdn.jsdelivr.net/gh/matthijs110/chromium-country-flags/src/assets/TwemojiCountryFlags.woff2";
- /**
- * Register the custom font-face to load the emoji-font for certain unicodes
- */
- const style = document.createElement("style");
- style.setAttribute("type", "text/css");
- style.setAttribute("id", "country-flag-fixer-ext");
- // Unicode range generated by: https://wakamaifondue.com/beta/
- style.textContent = `
- @font-face {
- font-family: "${fontName}";
- font-style: normal;
- src: url('${fontUrl}') format('woff2');
- unicode-range: U+1F1E6-1F1FF, U+1F3F4, U+E0062-E0063, U+E0065, U+E0067, U+E006C, U+E006E, U+E0073-E0074, U+E0077, U+E007F;
- }
- @font-face {
- font-family: "${fontName}";
- font-style: italic; /* Defined to prevent italic styled flags */
- src: url('${fontUrl}') format('woff2');
- unicode-range: U+1F1E6-1F1FF, U+1F3F4, U+E0062-E0063, U+E0065, U+E0067, U+E006C, U+E006E, U+E0073-E0074, U+E0077, U+E007F;
- }
- `;
- // Check for cases like SVG files that don't have a head element
- if (document.head != undefined)
- {
- document.head.appendChild(style);
- }
- })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址