您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Whenever a link to localized greasyfork page is clicked, redirect it to the specified language
当前为
// ==UserScript== // @name Greasyfork in your language // @description Whenever a link to localized greasyfork page is clicked, redirect it to the specified language // @namespace wOxxOm.scripts // @author wOxxOm // @version 3.0.5 // @match https://greasyforks.org/* // @exclude https://greasyforks.org/system/* // @run-at document-start // @grant GM_getValue // @grant GM_setValue // ==/UserScript== /* jshint lastsemic:true, multistr:true, laxbreak:true, -W030, -W041, -W084 */ var language = GM_getValue('language', 'en'); maybeRedirect(location); window.addEventListener('load', function _() { window.removeEventListener('load', _); var _timer, _title; document.getElementById('language-selector-locale').addEventListener('change', function() { GM_setValue('language', this.value); _title = _title || this.title; this.title = this.value + ' saved in ' + GM_info.script.name; clearTimeout(_timer); _timer = setTimeout(function() { this.title = _title; _title = null; }, 5000); }); }); window.addEventListener('mousedown', function(e) { var a = e.target.closest('a'); if (a && a.origin == 'https://greasyforks.org' && a.pathname.lastIndexOf('/system/', 0) < 0 && !a.pathname.match(/\/code\/.*?\.user\.js/)) maybeRedirect(a); }); function maybeRedirect(url) { var m = (url.pathname + url.search + url.hash).match(/^(?:\/(\w\w(?:-\w\w)?)(?:\/|$))?(.*)$/i); if (m[1] !== language) { var path = '/' + language + '/' + m[2].replace(/[?&]locale_override[^&]*/, '').replace(/^\//, ''); url.href = url.origin + path + (path.indexOf('/forum/') > 0 ? '' : (path.indexOf('?') > 0 ? '&' : '?') + 'locale_override=1'); console.log('Redirected greasyfork url language from %s to %s', m[1], language); } }