求适用于Violent Monkey的Reddit近版旧UI还原脚本
求适用于Violent Monkey的Reddit近版旧UI还原脚本
太懂这种看着常用网站突然变丑的憋屈了!你要的不是完全复古的old.reddit,而是那个还没加左侧边栏的稍旧版UI对吧?我帮你改了下现有的脚本,它不会跳转到old.reddit,而是自动给所有Reddit页面加上参数,还原到你想要的那个布局:
function test(url){ return !!url.match(/^(|http(s?):\/\/)(|www.)reddit.com(\/.*|$)/gim); } // 修改核心逻辑:不再跳转到old.reddit,而是添加参数还原旧布局 function getNewPagePlease(url){ const urlObj = new URL(url); // 禁用左侧边栏,同时指定对应无侧边栏的UI版本 urlObj.searchParams.set('disable_left_sidebar', 'true'); urlObj.searchParams.set('v', '2'); return urlObj.toString(); } function fixRedditStuff(){ var links = Array.prototype.slice.call(document.links, 0); links.filter(function(link){ if(test(link.href)){ var greatNewLink = getNewPagePlease(link.href); if(link.hasAttribute('data-outbound-url')) link.setAttribute('data-outbound-url', greatNewLink); link.setAttribute('href', greatNewLink); } }); } if(test(window.location.href)){ const currentUrl = new URL(window.location.href); // 避免重复重定向,检查参数是否已存在 if(!currentUrl.searchParams.has('disable_left_sidebar') || !currentUrl.searchParams.has('v')){ window.location.assign(getNewPagePlease(window.location.href)); } } window.onload = fixRedditStuff; setInterval(fixRedditStuff, 50);
小调整提示:
- 如果这个布局还不是你记忆里的版本,可以试试把
v=2改成v=1,或者直接去掉v参数只保留disable_left_sidebar=true; - 要是想还原去年的UI,也可以尝试替换
getNewPagePlease里的参数,比如换成layout=card或者style=old,多试几个组合总能找到你习惯的样子。
备注:内容来源于stack exchange,提问作者Demon
相关产品推荐
相关产品推荐

