您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Fixes encoded ampersands on Wayback Machine's captures graph and problems that arise when trailing slashes are missing in an URL
当前为
// ==UserScript== // @name Wayback Machine Small Bug Fixes // @namespace DoomTay // @description Fixes encoded ampersands on Wayback Machine's captures graph and problems that arise when trailing slashes are missing in an URL // @version 1.1.3 // @include http://web.archive.org/web/* // @include https://web.archive.org/web/* // @grant none // ==/UserScript== var toolbarNav = document.getElementById("wm-graph-anchor"); var shouldHaveTrailingSlash = window.location.href.lastIndexOf("/") > -1 && window.location.href.lastIndexOf(".") < window.location.href.lastIndexOf("/"); var hasTrailingSlash = window.location.href.lastIndexOf("/") == window.location.href.length - 1; var pics = document.images; var links = document.links; var lastFolder = window.location.href.substring(window.location.href.lastIndexOf("/") + 1); function fixLink() { while(toolbarNav.href.indexOf("&") > -1) toolbarNav.href = toolbarNav.href.replace("&","&"); } if(toolbarNav) fixLink(); if(shouldHaveTrailingSlash && !hasTrailingSlash) { for(var l = 0; l < links.length; l++) { //Skip over stuff related to the Wayback Machine toolbar and data URIs if((document.getElementById("wm-ipp") && document.getElementById("wm-ipp").contains(links[l]))) continue; if(links[l].hash) continue; if(links[l].href.indexOf("/" + lastFolder + "/") > -1) continue; if(links[l].href.indexOf(window.location.href.substring(0,window.location.href.lastIndexOf("/"))) == -1) continue; links[l].href = lastFolder + "/" + absoluteToRelative(links[l].href); } for(var i = 0; i < pics.length; i++) { //Skip over stuff related to the Wayback Machine toolbar and data URIs if((document.getElementById("wm-ipp") && document.getElementById("wm-ipp").contains(pics[i])) || pics[i].src.indexOf("data:") > -1) continue; pics[i].src = lastFolder + "/" + absoluteToRelative(pics[i].src); } } function absoluteToRelative(url) { return url.substring(window.location.href.indexOf(lastFolder)); } var observer = new MutationObserver(function(mutations) { mutations.forEach(function(mutation) { if(mutation.type == "attributes") fixLink(); }); }); var config = { attributes: true, childList: true, characterData: true, subtree: true, attributeFilter: ["href"] }; observer.observe(toolbarNav, config);