Убирает параметр `l=russian` из URL только для store.css
// ==UserScript==
// @name Steam Fix RU (Only store.css)
// @namespace Steam Fix RU (Only store.css)
// @version 1.1
// @author Danzo
// @description Убирает параметр `l=russian` из URL только для store.css
// @match *://store.steampowered.com/*
// @grant none
// @run-at document-start
// ==/UserScript==
(function() {
'use strict';
function removeLanguageParam() {
// Находим все CSS и JavaScript ресурсы
document.querySelectorAll('link[rel="stylesheet"], script[src]').forEach(resource => {
// Определяем нужный атрибут (href для link и src для script)
const urlAttr = resource.tagName === 'LINK' ? 'href' : 'src';
// Проверяем, что атрибут существует и начинается с 'http'
if (resource[urlAttr] && resource[urlAttr].startsWith('https://store.fastly.steamstatic.com/public/css/v6/store.css')) {
try {
let url = new URL(resource[urlAttr]);
// Удаляем параметр l=russian, если он присутствует
if (url.searchParams.get('l') === 'russian') {
// Логируем исходный URL
// console.log("Detected resource:", url.toString());
url.searchParams.delete('l');
resource[urlAttr] = url.toString();
// Логируем новый URL после удаления параметра
// console.log("Updated resource:", resource[urlAttr]);
}
} catch (e) {
console.error("Invalid URL detected:", resource[urlAttr], e);
}
}
});
}
// Запускаем функцию сразу при загрузке страницы
removeLanguageParam();
// Используем MutationObserver для обработки новых ресурсов, добавленных динамически
// const observer = new MutationObserver(removeLanguageParam);
// observer.observe(document.head || document.documentElement, { childList: true, subtree: true });
})();