您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Disable annoying dynamic updates to page titles and improve them overall.
当前为
- // ==UserScript==
- // @name GOG: Static and Better Page Titles
- // @namespace Violentmonkey Scripts
- // @match https://www.gog.com/*
- // @grant none
- // @version 1.0
- // @author GreasyBastard
- // @license AGPLv3
- // @description Disable annoying dynamic updates to page titles and improve them overall.
- // ==/UserScript==
- (function() {
- 'use strict';
- // Function to set the title based on og:title meta tag
- const setTitleFromMetaTag = () => {
- const metaTag = document.querySelector('meta[property="og:title"]');
- if (metaTag && metaTag.content) {
- document.title = metaTag.content;
- }
- };
- // Function to set the title based on the query parameter
- const setTitleFromQueryParam = () => {
- const urlParams = new URLSearchParams(window.location.search);
- const queryTerm = urlParams.get('query');
- if (queryTerm) {
- document.title = `> ${decodeURIComponent(queryTerm)}`;
- }
- };
- // Function to set the title from the first h1 tag for non-game paths
- const setTitleFromFirstH1 = () => {
- const pathPart = window.location.pathname.split('/')[3]; // Extract the 3rd part of the URL path
- if (pathPart && pathPart !== 'game' && pathPart !== 'games') {
- const firstH1 = document.querySelector('h1');
- if (firstH1) {
- document.title = firstH1.textContent.trim();
- }
- }
- };
- // Function to set the title to "GOG.com" for homepage or /en/ root
- const setTitleForHomepage = () => {
- const pathParts = window.location.pathname.split('/').filter(part => part.trim() !== '');
- console.log('Path Parts:', pathParts); // Debugging output to check the pathname parts
- if (pathParts.length <= 1) { // This should cover "/" and "/en/"
- document.title = "GOG.com";
- }
- };
- // Function to set the title to the error code for error pages (like /404, /403, etc.)
- const setTitleForErrorPage = () => {
- const pathParts = window.location.pathname.split('/').filter(part => part.trim() !== '');
- const errorCode = pathParts[pathParts.length - 1]; // The last part of the URL path
- // Check if the last part of the path is a number (error code like 404, 403, etc.)
- if (!isNaN(errorCode)) {
- document.title = `Error ${errorCode}`;
- }
- };
- // Function to lock the document title
- const lockTitle = () => {
- const originalTitle = document.title;
- Object.defineProperty(document, 'title', {
- configurable: false,
- enumerable: true,
- get: () => originalTitle,
- set: () => {}
- });
- };
- // Initialize
- setTitleForHomepage();
- setTitleFromMetaTag();
- setTitleFromQueryParam();
- setTitleFromFirstH1();
- setTitleForErrorPage();
- lockTitle();
- })();